belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1
RecyclerView.LayoutManager
public
static
abstract
class
RecyclerView.LayoutManager
extends Object
java.lang.Object | |
↳ | android.support.v7.widget.RecyclerView.LayoutManager |
![]() |
![]() |
A LayoutManager
is responsible for measuring and positioning item views
within a RecyclerView
as well as determining the policy for when to recycle
item views that are no longer visible to the user. By changing the LayoutManager
a RecyclerView
can be used to implement a standard vertically scrolling list,
a uniform grid, staggered grids, horizontally scrolling collections and more. Several stock
layout managers are provided for general use.
Context
, AttributeSet
, int
, int
), RecyclerView will
instantiate and set the LayoutManager when being inflated. Most used properties can
be then obtained from getProperties(Context, AttributeSet, int, int)
. In case
a LayoutManager specifies both constructors, the non-default constructor will take
precedence.
Summary
Nested classes | |
---|---|
interface |
RecyclerView.LayoutManager.LayoutPrefetchRegistry
Interface for LayoutManagers to request items to be prefetched, based on position, with specified distance from viewport, which indicates priority. |
class |
RecyclerView.LayoutManager.Properties
Some general properties that a LayoutManager may want to use. |
XML attributes | |
---|---|
RecyclerView_android_orientation |
|
RecyclerView_reverseLayout |
|
RecyclerView_spanCount |
|
RecyclerView_stackFromEnd |
Public constructors | |
---|---|
RecyclerView.LayoutManager()
|
Public methods | |
---|---|
void
|
addDisappearingView(View child, int index)
To be called only during |
void
|
addDisappearingView(View child)
To be called only during |
void
|
addView(View child, int index)
Add a view to the currently attached RecyclerView if needed. |
void
|
addView(View child)
Add a view to the currently attached RecyclerView if needed. |
void
|
assertInLayoutOrScroll(String message)
Checks if RecyclerView is in the middle of a layout or scroll and throws an
|
void
|
assertNotInLayoutOrScroll(String message)
Checks if RecyclerView is in the middle of a layout or scroll and throws an
|
void
|
attachView(View child)
Reattach a previously |
void
|
attachView(View child, int index)
Reattach a previously |
void
|
attachView(View child, int index, RecyclerView.LayoutParams lp)
Reattach a previously |
void
|
calculateItemDecorationsForChild(View child, Rect outRect)
Calculates the item decor insets applied to the given child and updates the provided Rect instance with the inset values. |
boolean
|
canScrollHorizontally()
Query if horizontal scrolling is currently supported. |
boolean
|
canScrollVertically()
Query if vertical scrolling is currently supported. |
boolean
|
checkLayoutParams(RecyclerView.LayoutParams lp)
Determines the validity of the supplied LayoutParams object. |
static
int
|
chooseSize(int spec, int desired, int min)
Chooses a size from the given specs and parameters that is closest to the desired size and also complies with the spec. |
void
|
collectAdjacentPrefetchPositions(int dx, int dy, RecyclerView.State state, RecyclerView.LayoutManager.LayoutPrefetchRegistry layoutPrefetchRegistry)
Gather all positions from the LayoutManager to be prefetched, given specified momentum. |
void
|
collectInitialPrefetchPositions(int adapterItemCount, RecyclerView.LayoutManager.LayoutPrefetchRegistry layoutPrefetchRegistry)
Gather all positions from the LayoutManager to be prefetched in preperation for its RecyclerView to come on screen, due to the movement of another, containing RecyclerView. |
int
|
computeHorizontalScrollExtent(RecyclerView.State state)
Override this method if you want to support scroll bars. |
int
|
computeHorizontalScrollOffset(RecyclerView.State state)
Override this method if you want to support scroll bars. |
int
|
computeHorizontalScrollRange(RecyclerView.State state)
Override this method if you want to support scroll bars. |
int
|
computeVerticalScrollExtent(RecyclerView.State state)
Override this method if you want to support scroll bars. |
int
|
computeVerticalScrollOffset(RecyclerView.State state)
Override this method if you want to support scroll bars. |
int
|
computeVerticalScrollRange(RecyclerView.State state)
Override this method if you want to support scroll bars. |
void
|
detachAndScrapAttachedViews(RecyclerView.Recycler recycler)
Temporarily detach and scrap all currently attached child views. |
void
|
detachAndScrapView(View child, RecyclerView.Recycler recycler)
Detach a child view and add it to a |
void
|
detachAndScrapViewAt(int index, RecyclerView.Recycler recycler)
Detach a child view and add it to a |
void
|
detachView(View child)
Temporarily detach a child view. |
void
|
detachViewAt(int index)
Temporarily detach a child view. |
void
|
endAnimation(View view)
Ends all animations on the view created by the |
View
|
findContainingItemView(View view)
Traverses the ancestors of the given view and returns the item view that contains it and also a direct child of the LayoutManager. |
View
|
findViewByPosition(int position)
Finds the view which represents the given adapter position. |
abstract
RecyclerView.LayoutParams
|
generateDefaultLayoutParams()
Create a default |
RecyclerView.LayoutParams
|
generateLayoutParams(Context c, AttributeSet attrs)
Create a LayoutParams object suitable for this LayoutManager from an inflated layout resource. |
RecyclerView.LayoutParams
|
generateLayoutParams(ViewGroup.LayoutParams lp)
Create a LayoutParams object suitable for this LayoutManager, copying relevant values from the supplied LayoutParams object if possible. |
int
|
getBaseline()
Returns offset of the RecyclerView's text baseline from the its top boundary. |
int
|
getBottomDecorationHeight(View child)
Returns the total height of item decorations applied to child's bottom. |
View
|
getChildAt(int index)
Return the child view at the given index |
int
|
getChildCount()
Return the current number of child views attached to the parent RecyclerView. |
static
int
|
getChildMeasureSpec(int parentSize, int parentMode, int padding, int childDimension, boolean canScroll)
Calculate a MeasureSpec value for measuring a child view in one dimension. |
static
int
|
getChildMeasureSpec(int parentSize, int padding, int childDimension, boolean canScroll)
This method was deprecated
in API level 24.1.0.
use |
boolean
|
getClipToPadding()
Check if the RecyclerView is configured to clip child views to its padding. |
int
|
getColumnCountForAccessibility(RecyclerView.Recycler recycler, RecyclerView.State state)
Returns the number of columns for accessibility. |
int
|
getDecoratedBottom(View child)
Returns the bottom edge of the given child view within its parent, offset by any applied
|
void
|
getDecoratedBoundsWithMargins(View view, Rect outBounds)
Returns the bounds of the view including its decoration and margins. |
int
|
getDecoratedLeft(View child)
Returns the left edge of the given child view within its parent, offset by any applied
|
int
|
getDecoratedMeasuredHeight(View child)
Returns the measured height of the given child, plus the additional size of
any insets applied by |
int
|
getDecoratedMeasuredWidth(View child)
Returns the measured width of the given child, plus the additional size of
any insets applied by |
int
|
getDecoratedRight(View child)
Returns the right edge of the given child view within its parent, offset by any applied
|
int
|
getDecoratedTop(View child)
Returns the top edge of the given child view within its parent, offset by any applied
|
View
|
getFocusedChild()
Returns the item View which has or contains focus. |
int
|
getHeight()
Returns the height that is currently relevant to the LayoutManager. |
int
|
getHeightMode()
|