我尝试使用此代码进行拖放:https://github.com/iPaulPro/Android-ItemTouchHelper-Demo。
以下是视频:https://youtu.be/lMsv2jYpbi4
有没有办法在拖放过程中加快滚动?
答案 0 :(得分:11)
在扩展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
那样)你可以根据滚动后的时间做一些数学运算({{ 1}})以及整个滚动中的位置(示例在滚动条中间滚动得更快,而当你接近开始/结束时滚动速度更慢)。