public abstract class SnapHelper
extends RecyclerView.OnFlingListener

   ↳ androidx.recyclerview.widget.RecyclerView.OnFlingListener
     ↳ androidx.recyclerview.widget.SnapHelper

Class intended to support snapping for a RecyclerView.

SnapHelper tries to handle fling as well but for this to work properly, the RecyclerView.LayoutManager must implement the RecyclerView.SmoothScroller.ScrollVectorProvider interface or you should override onFling(int, int) and handle fling manually.


Public constructors


Public methods

void attachToRecyclerView(RecyclerView recyclerView)

Attaches the SnapHelper to the provided RecyclerView, by calling RecyclerView.setOnFlingListener(RecyclerView.OnFlingListener).

abstract int[] calculateDistanceToFinalSnap(RecyclerView.LayoutManager layoutManager, View targetView)

Override this method to snap to a particular point within the target view or the container view on any axis.

int[] calculateScrollDistance(int velocityX, int velocityY)

Calculated the estimated scroll distance in each direction given velocities on both axes.

abstract View findSnapView(RecyclerView.LayoutManager layoutManager)

Override this method to provide a particular target view for snapping.

abstract int findTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY)

Override to provide a particular adapter target position for snapping.

boolean onFling(int velocityX, int velocityY)

Override this to handle a fling given the velocities in both x and y directions.

Protected methods