Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用RecyclerView执行轻松滚动_Android_Android Recyclerview_Smooth Scrolling - Fatal编程技术网

Android 如何使用RecyclerView执行轻松滚动

Android 如何使用RecyclerView执行轻松滚动,android,android-recyclerview,smooth-scrolling,Android,Android Recyclerview,Smooth Scrolling,我有一个RecyclerView设置,带有水平LinearLayoutManager,以整页大小显示视图(例如,像ViewPager一样) 我想实现的是以编程方式平滑滚动到某个位置。但是,不是像smoothScrollToPosition(int)那样使用线性滚动,而是使用“缓入/缓出”效果 我查看了RecyclerView.SmoothScroller,但据我所知,无法实现此行为,因为似乎缺少有关总滚动距离/持续时间的信息 接下来我尝试手动使用scrollTo(int,int),这在Recyc

我有一个
RecyclerView
设置,带有水平
LinearLayoutManager
,以整页大小显示视图(例如,像
ViewPager
一样)

我想实现的是以编程方式平滑滚动到某个位置。但是,不是像
smoothScrollToPosition(int)
那样使用线性滚动,而是使用“缓入/缓出”效果

我查看了
RecyclerView.SmoothScroller
,但据我所知,无法实现此行为,因为似乎缺少有关总滚动距离/持续时间的信息

接下来我尝试手动使用
scrollTo(int,int)
,这在
RecyclerView
中似乎不受支持

我现在已经求助于发送
MotionEvents
来模拟recylcer视图上的拖动。但对于一个简单的问题来说,这感觉太过分了


有没有其他方法可以实现我的目标?

您可以尝试创建自定义RecyclerView并覆盖
smoothScrollBy
方法:

公共类CustomInterpolatorRecyclView扩展了RecyclView{
@凌驾
公共空间平滑滚动比(int-dx,int-dy){
super.smoothScrollBy(dx,dy,new AcceleratedCelerateInterpolator());//在此处传递更高级的易入/易出插值器
}

正是我想要的。