Recycler 视图中的自动平滑滚动
Posted
技术标签:
【中文标题】Recycler 视图中的自动平滑滚动【英文标题】:Auto smooth scrolling in Recycler view 【发布时间】:2020-03-21 23:08:22 【问题描述】:我使用平滑的recyclerView.smoothScrollBy(int dx , int dy)
进行滚动。
将此方法放入处理程序并每 50 毫秒调用一次handler
。
我的速度范围是0 - 10
。
Runnable
的句柄滚动是
private Runnable runnableMove = new Runnable()
@Override
public void run()
recyclerView.smoothScrollBy(0,speed * 4);
handler.postDelayed(this,50);
;
突然scrolling
开始变成lagging
。我必须停止scrolling
并重新开始。
这很重要,我在 recycler view
中将 2 个或更多设备(可能是 4 个、5 个)与同一项目同步,我需要其中任何一个的滚动位置将它们同步在一起。
大多数情况下,一两个设备的滚动速度会变慢或变快。我需要所有设备以相同的速度滚动。我如何在android
中解决这个问题。
【问题讨论】:
【参考方案1】:您可以尝试使用ObjectAnimator
。
ObjectAnimator.ofInt(recyclerView, "scrollY", 1000).setDuration(12000).start()
在所有设备上同时启动,它们应该同步,没有任何延迟。
【讨论】:
【参考方案2】:我找到了这个方法,它对我有用:
recyclerView.smoothScrollBy(dx, dy, new LinearInterpolator(), time);
【讨论】:
以上是关于Recycler 视图中的自动平滑滚动的主要内容,如果未能解决你的问题,请参考以下文章
当用户将手从屏幕上移开时,如何使 Recycler View 滚动缓慢而流畅?
NestedScrollView 平滑滚动到顶部和内部的视图
在水平和垂直的recyclerview中膨胀布局,具有recycler视图的FlexboxLayout添加视图水平自动垂直