added in version 22.1.0
belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1

BaseGridView

public abstract class BaseGridView
extends RecyclerView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.support.v7.widget.RecyclerView
         ↳ android.support.v17.leanback.widget.BaseGridView
Known Direct Subclasses


An abstract base class for vertically and horizontally scrolling lists. The items come from the RecyclerView.Adapter associated with this view. Do not directly use this class, use VerticalGridView and HorizontalGridView. The class is not intended to be subclassed other than VerticalGridView and HorizontalGridView.

Summary

Nested classes

interface BaseGridView.OnKeyInterceptListener

Listener for intercepting key dispatch events. 

interface BaseGridView.OnMotionInterceptListener

Listener for intercepting generic motion dispatch events. 

interface BaseGridView.OnTouchInterceptListener

Listener for intercepting touch dispatch events. 

interface BaseGridView.OnUnhandledKeyListener

 

Inherited XML attributes

From class android.support.v7.widget.RecyclerView

Constants

float ITEM_ALIGN_OFFSET_PERCENT_DISABLED

Value indicates that percent is not used.

int SAVE_ALL_CHILD

Save on screen views plus save off screen child views without any limitation.

int SAVE_LIMITED_CHILD

Save on screen views plus save off screen child views states up to getSaveChildrenLimitNumber().

int SAVE_NO_CHILD

Dont save states of any child views.

int SAVE_ON_SCREEN_CHILD

Only save on screen child views, the states are lost when they become off screen.

int WINDOW_ALIGN_BOTH_EDGE

The first item and last item are aligned with the two edges of the viewport.

int WINDOW_ALIGN_HIGH_EDGE

The last item is aligned with the high edge of the viewport when navigating to the end of list.

int WINDOW_ALIGN_LOW_EDGE

The first item is aligned with the low edge of the viewport.

int WINDOW_ALIGN_NO_EDGE

The focused item always stays in a key line location.

float WINDOW_ALIGN_OFFSET_PERCENT_DISABLED

Value indicates that percent is not used.

Inherited constants

From class android.support.v7.widget.RecyclerView
From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public methods

void addOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

Registers a callback to be invoked when an item in BaseGridView has been selected.

void animateIn()

Undo animateOut() and slide in child views.

void animateOut()

Temporarily slide out child views to bottom (for VerticalGridView) or end (for HorizontalGridView).

boolean dispatchKeyEvent(KeyEvent event)
boolean dispatchTouchEvent(MotionEvent event)
View focusSearch(int direction)
int getChildDrawingOrder(int childCount, int i)
int getHorizontalMargin()

This method was deprecated in API level 26.1.0. Use getHorizontalSpacing()

int getHorizontalSpacing()

Returns the horizontal spacing in pixels between two child items.

int getInitialPrefetchItemCount()

Gets the number of items to prefetch in collectInitialPrefetchPositions(int, RecyclerView.LayoutManager.LayoutPrefetchRegistry), which defines how many inner items should be prefetched when this GridView is nested inside another RecyclerView.

int getItemAlignmentOffset()

Returns number of pixels to the end of low edge.

float getItemAlignmentOffsetPercent()

Returns the offset percent for item alignment in addition to getItemAlignmentOffset().

int getItemAlignmentViewId()

Returns the id of the view to align with, or NO_ID for the root itemView.

BaseGridView.OnUnhandledKeyListener getOnUnhandledKeyListener()

Returns the unhandled key listener.

final int getSaveChildrenLimitNumber()

Returns the limit used when when getSaveChildrenPolicy() is SAVE_LIMITED_CHILD

final int getSaveChildrenPolicy()

Returns the policy for saving children.

int getSelectedPosition()

Returns the adapter position of selected item.

int getVerticalMargin()

This method was deprecated in API level 26.1.0. Use getVerticalSpacing()

int getVerticalSpacing()

Returns the vertical spacing in pixels between two child items.

void getViewSelectedOffsets(View view, int[] offsets)

Returns the x/y offsets to final position from current position if the view is selected.

int getWindowAlignment()

Returns the method for focused item alignment in the view.

int getWindowAlignmentOffset()

Returns the offset in pixels for window alignment key line.

float getWindowAlignmentOffsetPercent()

Returns the offset percent for window alignment key line in addition to getWindowAlignmentOffset().

boolean hasOverlappingRendering()
boolean hasPreviousViewInSameRow(int position)

Returns true if the view at the given position has a same row sibling in front of it.

boolean isChildLayoutAnimated()

Returns true if an animation will run when a child changes size or when adding or removing a child.

boolean isFocusDrawingOrderEnabled()

Returns true if draws selected child at last, false otherwise.

final boolean isFocusSearchDisabled()

Returns true if focus search is disabled.

boolean isItemAlignmentOffsetWithPadding()

Returns true if applies padding to item alignment when getItemAlignmentOffsetPercent() is 0 or 100; returns false otherwise.

boolean isScrollEnabled()

Returns true if scrolling is enabled, false otherwise.

boolean isWindowAlignmentPreferKeyLineOverHighEdge()

Returns whether prefer key line over high edge when WINDOW_ALIGN_HIGH_EDGE is used.

boolean isWindowAlignmentPreferKeyLineOverLowEdge()

Returns whether prefer key line over low edge when WINDOW_ALIGN_LOW_EDGE is used.

boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect)
void onRtlPropertiesChanged(int layoutDirection)

Notify layout manager that layout directionality has been updated

void removeOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

Remove the callback invoked when an item in BaseGridView has been selected.

void scrollToPosition(int position)

Convenience method to scroll to a certain position.

void setAnimateChildLayout(boolean animateChildLayout)

Sets whether ItemAnimator should run when a child changes size or when adding or removing a child.

void setChildrenVisibility(int visibility)

Changes and overrides children's visibility.

void setFocusDrawingOrderEnabled(boolean enabled)

Enables or disables the default "focus draw at last" order rule.

final void setFocusSearchDisabled(boolean disabled)

Disables or enables focus search.

void setGravity(int gravity)

Sets the gravity used for child view positioning.

void setHasOverlappingRendering(boolean hasOverlapping)
void setHorizontalMargin(int margin)

This method was deprecated in API level 26.1.0. Use setHorizontalSpacing(int)

void setHorizontalSpacing(int spacing)

Sets the horizontal spacing in pixels between two child items.

void setInitialPrefetchItemCount(int itemCount)

Sets the number of items to prefetch in collectInitialPrefetchPositions(int, RecyclerView.LayoutManager.LayoutPrefetchRegistry), which defines how many inner items should be prefetched when this GridView is nested inside another RecyclerView.

void setItemAlignmentOffset(int offset)

Sets number of pixels to the end of low edge.

void setItemAlignmentOffsetPercent(float offsetPercent)

Sets the offset percent for item alignment in addition to getItemAlignmentOffset().

void setItemAlignmentOffsetWithPadding(boolean withPadding)

Sets whether applies padding to item alignment when getItemAlignmentOffsetPercent() is 0 or 100.

void setItemAlignmentViewId(int viewId)

Sets the id of the view to align with.

void setItemMargin(int margin)

This method was deprecated in API level 26.1.0. use setItemSpacing(int)

void setItemSpacing(int spacing)

Sets the vertical and horizontal spacing in pixels between two child items.

void setLayoutEnabled(boolean layoutEnabled)

Enables or disables layout.

void setOnChildLaidOutListener(OnChildLaidOutListener listener)

Registers a callback to be invoked when an item in BaseGridView has been laid out.

void setOnChildSelectedListener(OnChildSelectedListener listener)

Registers a callback to be invoked when an item in BaseGridView has been selected.

void setOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

Registers a callback to be invoked when an item in BaseGridView has been selected.

void setOnKeyInterceptListener(BaseGridView.OnKeyInterceptListener listener)

Sets the key intercept listener.

void setOnMotionInterceptListener(BaseGridView.OnMotionInterceptListener listener)

Sets the generic motion intercept listener.

void setOnTouchInterceptListener(BaseGridView.OnTouchInterceptListener listener)

Sets the touch intercept listener.

void setOnUnhandledKeyListener(BaseGridView.OnUnhandledKeyListener listener)

Sets the unhandled key listener.

void setPruneChild(boolean pruneChild)

Enables or disables pruning of children.

void setRecyclerListener(RecyclerView.RecyclerListener listener)

Register a listener that will be notified whenever a child view is recycled.

final void setSaveChildrenLimitNumber(int limitNumber)

Sets the limit number when getSaveChildrenPolicy() is SAVE_LIMITED_CHILD.

final void setSaveChildrenPolicy(int savePolicy)

Sets the policy for saving children.

void setScrollEnabled(boolean scrollEnabled)

Enables or disables scrolling.

void setSelectedPosition(int position, ViewHolderTask task)

Perform a task on ViewHolder at given position after scroll to it.

void setSelectedPosition(int position, int scrollExtra)

Changes the selected item immediately without animation, scrollExtra is applied in primary scroll direction.

void setSelectedPosition(int position)

Changes the selected item immediately without animation.

void setSelectedPositionSmooth(int position)

Changes the selected item and run an animation to scroll to the target position.

void setSelectedPositionSmooth(int position, ViewHolderTask task)

Perform a task on ViewHolder at given position after smooth scrolling to it.

void setVerticalMargin(int margin)

This method was deprecated in API level 26.1.0. Use setVerticalSpacing(int)

void setVerticalSpacing(int spacing)

Sets the vertical spacing in pixels between two child items.

void setWindowAlignment(int windowAlignment)

Sets the method for focused item alignment in the view.

void setWindowAlignmentOffset(int offset)

Sets the offset in pixels for window alignment key line.

void setWindowAlignmentOffsetPercent(float offsetPercent)

Sets the offset percent for window alignment key line in addition to getWindowAlignmentOffset().

void setWindowAlignmentPreferKeyLineOverHighEdge(boolean preferKeyLineOverHighEdge)

Returns whether prefer key line over high edge when WINDOW_ALIGN_HIGH_EDGE is used.

void setWindowAlignmentPreferKeyLineOverLowEdge(boolean preferKeyLineOverLowEdge)

Sets whether prefer key line over low edge when WINDOW_ALIGN_LOW_EDGE is used.

void smoothScrollToPosition(int position)

Starts a smooth scroll to an adapter position.

Protected methods

boolean dispatchGenericFocusedEvent(MotionEvent event)
void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)

Inherited methods

From class android.support.v7.widget.RecyclerView
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.support.v4.view.ScrollingView
From interface android.support.v4.view.NestedScrollingChild2
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.support.v4.view.NestedScrollingChild

Constants

ITEM_ALIGN_OFFSET_PERCENT_DISABLED

added in version 22.1.0
float ITEM_ALIGN_OFFSET_PERCENT_DISABLED

Value indicates that percent is not used.

Constant Value: -1.0

SAVE_ALL_CHILD

added in version 22.1.0
int SAVE_ALL_CHILD

Save on screen views plus save off screen child views without any limitation. This might cause out of memory, only use it when you are dealing with limited data.

Constant Value: 3 (0x00000003)

SAVE_LIMITED_CHILD

added in version 22.1.0
int SAVE_LIMITED_CHILD

Save on screen views plus save off screen child views states up to getSaveChildrenLimitNumber().

Constant Value: 2 (0x00000002)

SAVE_NO_CHILD

added in version 22.1.0
int SAVE_NO_CHILD

Dont save states of any child views.

Constant Value: 0 (0x00000000)

SAVE_ON_SCREEN_CHILD

added in version 22.1.0
int SAVE_ON_SCREEN_CHILD

Only save on screen child views, the states are lost when they become off screen.

Constant Value: 1 (0x00000001)

WINDOW_ALIGN_BOTH_EDGE

added in version 22.1.0
int WINDOW_ALIGN_BOTH_EDGE

The first item and last item are aligned with the two edges of the viewport. When navigating in the middle of list, the focus maintains a key line location.

The key line location is calculated by "windowAlignOffset" and "windowAlignOffsetPercent"; if neither of these two is defined, the default value is 1/2 of the size.

Constant Value: 3 (0x00000003)

WINDOW_ALIGN_HIGH_EDGE

added in version 22.1.0
int WINDOW_ALIGN_HIGH_EDGE

The last item is aligned with the high edge of the viewport when navigating to the end of list. When navigating away from the end, the focus item is aligned to a key line location.

For HorizontalGridView, high edge refers to getWidth() - getPaddingRight() when RTL is false or getPaddingLeft() when RTL is true. For VerticalGridView, high edge refers to getHeight() - getPaddingBottom().

The key line location is calculated by "windowAlignOffset" and "windowAlignOffsetPercent"; if neither of these two is defined, the default value is 1/2 of the size.

Note if there are very few items between high edge and key line, use setWindowAlignmentPreferKeyLineOverHighEdge(boolean) to control whether you prefer to align the items to key line or high edge. Default is preferring key line.

Constant Value: 2 (0x00000002)

WINDOW_ALIGN_LOW_EDGE

added in version 22.1.0
int WINDOW_ALIGN_LOW_EDGE

The first item is aligned with the low edge of the viewport. When navigating away from the first item, the focus item is aligned to a key line location.

For HorizontalGridView, low edge refers to getPaddingLeft() when RTL is false or getWidth() - getPaddingRight() when RTL is true. For VerticalGridView, low edge refers to getPaddingTop().

The key line location is calculated by "windowAlignOffset"