belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1
LinearSmoothScroller
public
class
LinearSmoothScroller
extends RecyclerView.SmoothScroller
java.lang.Object | ||
↳ | android.support.v7.widget.RecyclerView.SmoothScroller | |
↳ | android.support.v7.widget.LinearSmoothScroller |
RecyclerView.SmoothScroller
implementation which uses a LinearInterpolator
until
the target position becomes a child of the RecyclerView and then uses a
DecelerateInterpolator
to slowly approach to target position.
If the RecyclerView.LayoutManager
you are using does not implement the
RecyclerView.SmoothScroller.ScrollVectorProvider
interface, then you must override the
computeScrollVectorForPosition(int)
method. All the LayoutManagers bundled with
the support library implement this interface.
Summary
Constants | |
---|---|
int |
SNAP_TO_ANY
Decides if the child should be snapped from start or end, depending on where it currently is in relation to its parent. |
int |
SNAP_TO_END
Align child view's right or bottom with parent view's right or bottom |
int |
SNAP_TO_START
Align child view's left or top with parent view's left or top |
Fields | |
---|---|
protected
final
DecelerateInterpolator |
mDecelerateInterpolator
|
protected
int |
mInterimTargetDx
|
protected
int |
mInterimTargetDy
|
protected
final
LinearInterpolator |
mLinearInterpolator
|
protected
PointF |
mTargetVector
|
Public constructors | |
---|---|
LinearSmoothScroller(Context context)
|
Public methods | |
---|---|
int
|
calculateDtToFit(int viewStart, int viewEnd, int boxStart, int boxEnd, int snapPreference)
Helper method for |
int
|
calculateDxToMakeVisible(View view, int snapPreference)
Calculates the horizontal scroll amount necessary to make the given view fully visible inside the RecyclerView. |
int
|
calculateDyToMakeVisible(View view, int snapPreference)
Calculates the vertical scroll amount necessary to make the given view fully visible inside the RecyclerView. |
Protected methods | |
---|---|
float
|
calculateSpeedPerPixel(DisplayMetrics displayMetrics)
Calculates the scroll speed. |
int
|
calculateTimeForDeceleration(int dx)
Calculates the time for deceleration so that transition from LinearInterpolator to DecelerateInterpolator looks smooth. |
int
|
calculateTimeForScrolling(int dx)
Calculates the time it should take to scroll the given distance (in pixels) |
int
|
getHorizontalSnapPreference()
When scrolling towards a child view, this method defines whether we should align the left or the right edge of the child with the parent RecyclerView. |
int
|
getVerticalSnapPreference()
When scrolling towards a child view, this method defines whether we should align the top or the bottom edge of the child with the parent RecyclerView. |
void
|
onSeekTargetStep(int dx, int dy, RecyclerView.State state, RecyclerView.SmoothScroller.Action action)
RecyclerView will call this method each time it scrolls until it can find the target position in the layout. |
void
|
onStart()
Called wh |