我试过这段拖放代码: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/