首页 > 其他分享 >RecyclerView 滚动到指定position,且position所在的view 居屏幕中间显示

RecyclerView 滚动到指定position,且position所在的view 居屏幕中间显示

时间:2024-07-25 18:59:37浏览次数:15  
标签:滚动 指定 position 屏幕 RecyclerView view

     RecyclerView 滚动到指定position,且position所在的view 居屏幕中间显示;

     RecyclerView 的 scrollToPositionWithOffset 和 scrollToPosition ,都可以实现滚到到指定位置,但是不能让所在的view 居于手机的宽度的居中位置。 

     RecyclerView   滚动分为平滑和直接滚动到指定位置;

1. 自定义CustomLinearLayoutManager 实现 LinearLayoutManager

目的是实现 RecyclerView 自定义左边距距离左边屏幕的一半,右边距 距离右边屏幕的一半;

具体代码示例:

public class CustomLinearLayoutManager extends LinearLayoutManager {
    publicCustomLinearLayoutManager(Context context) {
        super(context, HORIZONTAL, false);
    }

    @Override
    public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
        super.onLayoutChildren(recycler, state);
        centerItems();
    }

    private void centerItems() {
        int firstVisibleItemPosition = findFirstVisibleItemPosition();
        int lastVisibleItemPosition = findLastVisibleItemPosition();
        if (firstVisibleIte

标签:滚动,指定,position,屏幕,RecyclerView,view
From: https://blog.csdn.net/qq_27247815/article/details/140634632

相关文章

  • QTreeView 样式设置以及Checkbox复选框样式设置
    这种样式设置如下QTreeView{background:#303033;font-size:16px;color:rgba(255,255,255,1);border:0px;}QTreeView::item{background:#303033;height:40px;}QTreeView::branch{background:#303033;}QTreeView::item:hover{......
  • Django DRF安装设置 序列化器ModelSerializer 视图ModelViewSet 路由url 串讲
    在DjangoRESTFramework(DRF)中,重新编写API视图通常涉及几个步骤。以下是一个简单的示例,展示如何定义和注册视图集、序列化器和路由,以便你可以创建、读取、更新和删除(CRUD)数据。1.定义序列化器#serializers.pyfromrest_frameworkimportserializersfrom.models......
  • 使用ViewPager和TabLayout来实现滑动切换效果
    目标是创建一个Android密码输入页面,包含数字、大写字母、小写字母和特殊符号四个部分,同时支持上下滑动和左右滑动切换不同部分。1.首先,在布局文件(activity_main.xml)中添加ViewPager和TabLayout:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://s......
  • 解决小程序web-view两个恶心问题
    ......
  • kotlin,Android教你最基础的ViewBinding视图绑定
    目录一.添加依赖二.在Activity中使用ViewBinding修改布局文件修改kt文件 效果三.在Fragment中使用ViewBinding修改布局文件修改kt文件效果不玩虚的,就三分钟,看完就能学会最基础的ViewBinding如何使用使用ViewBinding有什么好处呢与使用findViewById相比,视图绑......
  • 将 TradingView 电子邮件信号连接至 MT4
    我对编码了解不多,但我尝试进行一些研究。我想在MT4上启用TradingView电子邮件信号,但尽管正在阅读电子邮件,但它们并未在MT4上执行。如果您能帮助我,我将非常高兴。importimaplibimportemailimportzmqimportrandomimportdatetime,timefromemail.headerimport......
  • WPF如何使用WebView,并且禁用F12和F5。
    客户端套浏览器壳,是如今比较浏览的客户端客户端开发方式。这篇文字简单来介绍一下如何在WPF中使用WebView安装WebView的nuget包可以直接执行安装命令Install-PackageMicrosoft.Web.WebView2。也可以通过nuget包管理器,安装Microsoft.Web.WebView2包。安装成功之后,改nuget......
  • WPF 使用ICollectionView过滤表格数据
    ICollectionView接口是一个用于提供数据视图的类,它允许你对数据进行排序、筛选和分组。可以通过静态方法CollectionViewSource.GetDefaultView(object)获取。MSDN接口说明:https://learn.microsoft.com/zh-cn/dotnet/api/system.componentmodel.icollectionview?view=windowsdes......
  • 【Android】ListView和RecyclerView知识总结
    文章目录ListView步骤适配器AdpterArrayAdapterSimpleAdapterBaseAdpter效率问题RecyclerView具体实现不同布局形式的设置横向滚动瀑布流网格点击事件ListViewListView是Android中的一种视图组件,用于显示可滚动的垂直列表。每个列表项都是一个视图对象,ListVie......
  • Android开发 - ViewGroup解析与自定义
    ViewGroup解析ViewGroup是一个特殊的View,可以包含其他视图(称为子视图)。而ViewGroup是View的子类,所以ViewGroup可以当成普通的UI组件使用。ViewGroup是布局和视图容器的基类,该类还定义了ViewGroup.LayoutParams用作布局参数基类的类由于ViewGroup的直接子类和间接子类比较......