LinearSnapHelper
public
class
LinearSnapHelper
extends SnapHelper
java.lang.Object | |||
↳ | androidx.recyclerview.widget.RecyclerView.OnFlingListener | ||
↳ | androidx.recyclerview.widget.SnapHelper | ||
↳ | androidx.recyclerview.widget.LinearSnapHelper |
Implementation of the SnapHelper
supporting snapping in either vertical or horizontal
orientation.
The implementation will snap the center of the target child view to the center of
the attached RecyclerView
. If you intend to change this behavior then override
SnapHelper.calculateDistanceToFinalSnap(RecyclerView.LayoutManager, View)
.
Summary
Public constructors | |
---|---|
LinearSnapHelper()
|
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. |
Inherited methods | |
---|---|
Public constructors
LinearSnapHelper
public LinearSnapHelper ()
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
after a fling and requires a reference view from the current set of child views.
If this method returns null
, SnapHelper will not snap to any view.
Parameters | |
---|---|
layoutManager |
RecyclerView.LayoutManager : the RecyclerView.LayoutManager associated with the attached
RecyclerView |
Returns | |
---|---|
View |
the target view to which to snap on fling or end of scroll |
findTargetSnapPosition
public int findTargetSnapPosition (RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY)
Override to provide a particular adapter target position for snapping.
Parameters | |
---|---|
layoutManager |
RecyclerView.LayoutManager : the RecyclerView.LayoutManager associated with the attached
RecyclerView |
velocityX |
int : fling velocity on the horizontal axis |
velocityY |
int : fling velocity on the vertical axis |
Returns | |
---|---|
int |
the target adapter position to you want to snap or RecyclerView.NO_POSITION
if no snapping should happen
|