Android RecyclerView 滑动到指定item(position)并加动画

其实Android RecyclerView组件已经自带了移动方法:
RecyclerView.scrollToPosition(position) //没有动画效果
但是这个方法没有动画效果,很生硬,直接就滑动过去了,下面来看一个有滑动动画效果的:

val smoothScroller= object : androidx.recyclerview.widget.LinearSmoothScroller(this) {//this是Context
            override fun getVerticalSnapPreference(): Int {
                return SNAP_TO_START
            }
        }
smoothScroller.targetPosition = position//position是item的位置
RecyclerView.layoutManager!!.startSmoothScroll(smoothScroller)//通过RecyclerView的layoutManager来实现移动动画效果

以上就是Android RecyclerView移动到指定item的代码,我也是从其他地方找来的,但是找不到地址了,记录一下,方便以后使用。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android开发中,我们可以使用RecyclerView来实现网格布局,并且可以通过指定的方式滑动指定position。 首先,我们需确保已经在项目的build.gradle文件中添加RecyclerView的依赖项。 在布局文件中,我们将RecyclerView添加指定的位置。例如,如果我们希望将RecyclerView添加到activity_main.xml文件的某个LinearLayout中,可以使用以下代码: ```xml <LinearLayout ... android:id="@+id/linear_layout" ...> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" ... /> </LinearLayout> ``` 在Activity或Fragment中,我们需要将布局文件中的RecyclerView与代码中的RecyclerView关联起来,并为RecyclerView设置LayoutManager和Adapter。LayoutManager决定了RecyclerView的布局方式,可以选择GridLayoutManager来实现网格布局。Adapter负责为RecyclerView提供数据,并控制每个item的显示。 ```java LinearLayout linearLayout = findViewById(R.id.linear_layout); RecyclerView recyclerView = findViewById(R.id.recycler_view); GridLayoutManager layoutManager = new GridLayoutManager(this, 2); // 2代表每行显示2个item recyclerView.setLayoutManager(layoutManager); CustomAdapter adapter = new CustomAdapter(dataList); // 自定义Adapter,提供数据 recyclerView.setAdapter(adapter); ``` 接下来,我们可以通过RecyclerView的smoothScrollToPosition()方法来平滑地滑动指定position。例如,如果我们想要滑动到第10个item,可以使用以下代码: ```java recyclerView.smoothScrollToPosition(9); // RecyclerViewposition从0开始计数 ``` 这个方法会使RecyclerView平稳地滑动指定位置,并且会自动滑动到该项的前台,以便用户能够看到该项。 总结来说,我们可以通过在布局文件中添加RecyclerView并设置LayoutManager和Adapter来实现网格布局。然后,通过RecyclerView的smoothScrollToPosition()方法,我们可以滑动指定position
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值