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()
Return the height measurement spec mode that is currently relevant to the LayoutManager. |
int
|
getItemCount()
Returns the number of items in the adapter bound to the parent RecyclerView. |
int
|
getItemViewType(View view)
Returns the View type defined by the adapter. |
int
|
getLayoutDirection()
Returns the resolved layout direction for this RecyclerView. |
int
|
getLeftDecorationWidth(View child)
Returns the total width of item decorations applied to child's left. |
int
|
getMinimumHeight()
|
int
|
getMinimumWidth()
|
int
|
getPaddingBottom()
Return the bottom padding of the parent RecyclerView |
int
|
getPaddingEnd()
Return the end padding of the parent RecyclerView |
int
|
getPaddingLeft()
Return the left padding of the parent RecyclerView |
int
|
getPaddingRight()
Return the right padding of the parent RecyclerView |
int
|
getPaddingStart()
Return the start padding of the parent RecyclerView |
int
|
getPaddingTop()
Return the top padding of the parent RecyclerView |
int
|
getPosition(View view)
Returns the adapter position of the item represented by the given View. |
static
RecyclerView.LayoutManager.Properties
|
getProperties(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Parse the xml attributes to get the most common properties used by layout managers. |
int
|
getRightDecorationWidth(View child)
Returns the total width of item decorations applied to child's right. |
int
|
getRowCountForAccessibility(RecyclerView.Recycler recycler, RecyclerView.State state)
Returns the number of rows for accessibility. |
int
|
getSelectionModeForAccessibility(RecyclerView.Recycler recycler, RecyclerView.State state)
Returns the selection mode for accessibility. |
int
|
getTopDecorationHeight(View child)
Returns the total height of item decorations applied to child's top. |
void
|
getTransformedBoundingBox(View child, boolean includeDecorInsets, Rect out)
Calculates the bounding box of the View while taking into account its matrix changes (translation, scale etc) with respect to the RecyclerView. |
int
|
getWidth()
Returns the width that is currently relevant to the LayoutManager. |
int
|
getWidthMode()
Return the width measurement spec mode that is currently relevant to the LayoutManager. |
boolean
|
hasFocus()
Returns true if the RecyclerView this LayoutManager is bound to has or contains focus. |
void
|
ignoreView(View view)
Flags a view so that it will not be scrapped or recycled. |
boolean
|
isAttachedToWindow()
Returns whether LayoutManager is currently attached to a RecyclerView which is attached to a window. |
boolean
|
isAutoMeasureEnabled()
Returns whether the measuring pass of layout should use the AutoMeasure mechanism of
|
boolean
|
isFocused()
Returns true if the RecyclerView this LayoutManager is bound to has focus. |
final
boolean
|
isItemPrefetchEnabled()
Sets whether the LayoutManager should be queried for views outside of its viewport while the UI thread is idle between frames. |
boolean
|
isLayoutHierarchical(RecyclerView.Recycler recycler, RecyclerView.State state)
Returns whether layout is hierarchical or not to be used for accessibility. |
boolean
|
isMeasurementCacheEnabled()
In addition to the View Framework's measurement cache, RecyclerView uses its own additional measurement cache for its children to avoid re-measuring them when not necessary. |
boolean
|
isSmoothScrolling()
|
boolean
|
isViewPartiallyVisible(View child, boolean completelyVisible, boolean acceptEndPointInclusion)
Returns whether the given child view is partially or fully visible within the padded bounded area of RecyclerView, depending on the input parameters. |
void
|
layoutDecorated(View child, int left, int top, int right, int bottom)
Lay out the given child view within the RecyclerView using coordinates that
include any current |
void
|
layoutDecoratedWithMargins(View child, int left, int top, int right, int bottom)
Lay out the given child view within the RecyclerView using coordinates that
include any current |
void
|
measureChild(View child, int widthUsed, int heightUsed)
Measure a child view using standard measurement policy, taking the padding of the parent RecyclerView and any added item decorations into account. |
void
|
measureChildWithMargins(View child, int widthUsed, int heightUsed)
Measure a child view using standard measurement policy, taking the padding of the parent RecyclerView, any added item decorations and the child margins into account. |
void
|
moveView(int fromIndex, int toIndex)
Moves a View from one position to another. |
void
|
offsetChildrenHorizontal(int dx)
Offset all child views attached to the parent RecyclerView by dx pixels along the horizontal axis. |
void
|
offsetChildrenVertical(int dy)
Offset |