如何在适当的时间内通过两个项目之间的随机位置平滑回收Recyclerview

问题描述 投票:1回答:2

我想在单击按钮后将recyclerview平滑滚动到两个项目之间的随机位置。通过使用

smoothScrollBy(dx , dy)

我可以找到正确的位置,但无法控制速度/持续时间(太快,我希望让它变慢)。

通过使用

smoothScrollToPosition()

并实施qazxsw poi我可以控制速度,但无法找到正确的位置(两个项目之间不能停止)。

事实上,我正在寻找一种方法来做同样的工作

calculateSpeedPerPixel()

有解决方案吗?

java android android-recyclerview smooth-scrolling
2个回答
0
投票

您可能应该将此方法与自定义插值器一起使用:ListView.smoothScrollBy(int distance, int duration).

例如,您可以使用具有不同值的Accelerate Interpolator。尝试改变数字以查看适合您的内容:

smoothScrollBy(int, int, Interpolator)

0
投票

Mark Allison有一个博客文章系列,解释了如何在您想要滚动到某个位置时自定义和控制持续时间。

smoothScrollBy(dx , dy, new AccelerateInterpolator(2));

© www.soinside.com 2019 - 2024. All rights reserved.