gpt4 book ai didi

android - 在 RecyclerView 中以指数方式增加滚动速度? (可穿戴)

转载 作者:搜寻专家 更新时间:2023-11-01 08:38:11 24 4
gpt4 key购买 nike

[上下文:在可穿戴设备上]

假设您有一个包含 1000 个项目的 RecyclerView。

您想从第 50 项转到第 500 项。

我希望用户像往常一样按每个项目滚动,但如果他继续快速滚动 - 我希望 RecyclerView 开始以指数方式更快地滚动。

例如

起初它可能会从一个项目滚动到另一个项目,例如:0 -> 1 -> 2 -> 3 ...

随着用户滚动得越来越长和越来越快:3 -> 6 -> 9 -> 12 ...

这一直在继续:12 -> 24 -> 36 -> 48 ...

这可能吗?我该怎么做?非常感谢。

最佳答案

我喜欢有简单的解决方案来解决看似复杂的问题。只需覆盖自定义 RecyclerView 类中的 fling 方法(在我的例子中是 WearableListView - 它又扩展了 RecyclerView)。这将增加/减少您滚动列表的速度,并且随着用户滚动而增加速度将实现我正在寻找的确切逻辑!希望对你也有帮助。

public class DynamicWearableListView extends WearableListView {

//Constructors

@Override
public boolean fling(int velocityX, int velocityY) {
velocityY *= mVelocityMultiplier;
return super.fling(velocityX, velocityY);
}
}

关于android - 在 RecyclerView 中以指数方式增加滚动速度? (可穿戴),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com