In Ihrer Klasse, die ItemTouchHelper.Callback
, überschreibt die Methode erweitert:
@Override
public int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int viewSize, int viewSizeOutOfBounds, int totalSize, long msSinceStartScroll) {
final int direction = (int) Math.signum(viewSizeOutOfBounds);
return 10 * direction;
}
Dies ist ein einfaches Beispiel, das eine feste Scroll-Geschwindigkeit verwendet, aber wenn Sie wollen etwas, das (wie die super.interpolateOutOfBoundsScroll
tun langsam und beschleunigt gestartet) Sie können einige Mathe basierend auf der Zeit seit dem Scrollen (msSinceStartScroll
) und auch die Position in der Gesamtscroll (z. B. Scrollen schneller in der Mitte des Scrollers und langsamer, wenn Sie in der Nähe des Start/Ende).