6

我尝试使用此代码进行拖放:https ://github.com/iPaulPro/Android-ItemTouchHelper-Demo 。

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

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

4

1 回答 1

17

在您的扩展类中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)以及整个滚动中的位置(例如,在滚动条中间时滚动速度更快,而在靠近开始/结束位置时滚动速度较慢)。

于 2016-10-05T08:17:13.060 回答