PagerSnapHelper

public class PagerSnapHelper
extends SnapHelper

java.lang.Object
   ↳ androidx.recyclerview.widget.RecyclerView.OnFlingListener
     ↳ androidx.recyclerview.widget.SnapHelper
       ↳ androidx.recyclerview.widget.PagerSnapHelper


Implementation of the SnapHelper supporting pager style snapping in either vertical or horizontal orientation.

PagerSnapHelper can help achieve a similar behavior to ViewPager. Set both RecyclerView and the items of the RecyclerView.Adapter to have ViewGroup.LayoutParams.MATCH_PARENT height and width and then attach PagerSnapHelper to the RecyclerView using SnapHelper.attachToRecyclerView(RecyclerView).

Summary

Public constructors

PagerSnapHelper()

Public methods

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.

View findSnapView(RecyclerView.LayoutManager layoutManager)

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

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

Override to provide a particular adapter target position for snapping.

Protected methods

RecyclerView.SmoothScroller createScroller(RecyclerView.LayoutManager layoutManager)

Creates a scroller to be used in the snapping implementation.

Inherited methods

Public constructors

PagerSnapHelper

public PagerSnapHelper ()

Public methods

calculateDistanceToFinalSnap

public 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.

This method is called when the SnapHelper has intercepted a fling and it needs to know the exact distance required to scroll by in order to snap to the target view.

Parameters
layoutManager RecyclerView.LayoutManager: the RecyclerView.LayoutManager associated with the attached RecyclerView

targetView View: the target view that is chosen as the view to snap

Returns
int[] the output coordinates the put the result into. out[0] is the distance on horizontal axis and out[1] is the distance on vertical axis.

findSnapView

public View findSnapView (RecyclerView.LayoutManager layoutManager)

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

This method is called when the SnapHelper is ready to start snapping and requires a target view to snap to. It will be explicitly called when the scroll state becomes idle after a scroll. It will also be called when the SnapHelper is preparing to snap a