android - RecyclerView 拖放 - 使用 ItemTouchHelper - 如何在拖动时更快地设置滚动速度?

标签 android scroll drag-and-drop android-recyclerview itemtouchhelper

我试过这段拖放代码:https://github.com/iPaulPro/Android-ItemTouchHelper-Demo .

这是一个视频:https://youtu.be/lMsv2jYpbi4

有没有办法加快拖放过程中的滚动速度?

最佳答案

在扩展 ItemTouchHelper.Callback 的类中,覆盖方法:

@Override
public int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int viewSize, int viewSizeOutOfBounds, int totalSize, long msSinceStartScroll) {
    final int direction = (int) Math.signum(viewSizeOutOfBounds);
    return 10 * direction;
}

这是一个使用固定滚动速度的简单示例,但是如果您想要一些开始缓慢并加速的东西(就像 super.interpolateOutOfBoundsScroll 所做的那样),您可以根据时间做一些数学运算自滚动以来 (msSinceStartScroll) 以及整个滚动中的位置(例如,在滚动条中间时滚动速度较快,而在接近开始/结束时滚动速度较慢)。

关于android - RecyclerView 拖放 - 使用 ItemTouchHelper - 如何在拖动时更快地设置滚动速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38662695/

相关文章:

android - Android中有开源手势库吗?

javascript - 具有固定侧边栏布局的 NuxtJs nuxt-link 滚动行为

html - 如果部分元素由于滚动条而被隐藏,则 HTML5 拖放 DOM 元素的幻影图像会被裁剪

android - 可点击的 ListView 不起作用

android - Retrofit2 的 onResponse() 和 onFailure() 方法中 first (Call<T> call) 参数的用途是什么

jquery 在从顶部然后从底部滚动定位时使侧边栏动态填充(因此随着高度的增加)

list - ScrolltoIndex 在平面列表上不起作用 react 原生

c++ - 拖放操作后事件不起作用

css - HTML5 拖放 : prevent dropping off the edge of the document window?

git - 我如何通过 git 与其他拥有 Android 存储库的人共享代码?