added in version 22.1.0
belongs to Maven artifact


public class ListRowPresenter
extends RowPresenter


ListRowPresenter renders ListRow using a HorizontalGridView hosted in a ListRowView.

Hover card

Optionally, setHoverCardPresenterSelector(PresenterSelector) can be used to display a view for the currently focused list item below the rendered list. This view is known as a hover card.

Row selection animation

ListRowPresenter disables RowPresenter's default full row dimming effect and draws a dim overlay on each child individually. A subclass may disable the overlay on each child by overriding isUsingDefaultListSelectEffect() to return false and write its own child dim effect in applySelectLevelToChild(ViewHolder, View).


ListRowPresenter applies a default shadow to each child view. Call setShadowEnabled(boolean) to disable shadows. A subclass may override and return false in isUsingDefaultShadow() and replace with its own shadow implementation.


Nested classes

class ListRowPresenter.SelectItemViewHolderTask

A task on the ListRowPresenter.ViewHolder that can select an item by position in the HorizontalGridView and perform an optional item task on it. 

class ListRowPresenter.ViewHolder

ViewHolder for the ListRowPresenter. 

Inherited constants

From class

Public constructors


Constructs a ListRowPresenter with defaults.

ListRowPresenter(int focusZoomFactor)

Constructs a ListRowPresenter with the given parameters.

ListRowPresenter(int focusZoomFactor, boolean useFocusDimmer)

Constructs a ListRowPresenter with the given parameters.

Public methods

final boolean areChildRoundedCornersEnabled()

Returns true if rounded corners are enabled for children of this row.

final void enableChildRoundedCorners(boolean enable)

Enables or disabled rounded corners on children of this row.

void freeze(RowPresenter.ViewHolder holder, boolean freeze)

Freezes/unfreezes the row, typically used when a transition starts/ends.

int getExpandedRowHeight()

Returns the expanded row height for rows created by this Presenter.

final int getFocusZoomFactor()

Returns the zoom factor used for focus highlighting.

final PresenterSelector getHoverCardPresenterSelector()

Returns the PresenterSelector used for showing a select object in a hover card.

int getRecycledPoolSize(Presenter presenter)

Returns the recycled pool size for the given presenter.

int getRowHeight()

Returns the row height for list rows created by this Presenter.

final boolean getShadowEnabled()

Returns true if child shadow is enabled.

final int getZoomFactor()

This method was deprecated in API level 22.1.0. use getFocusZoomFactor() instead.

final boolean isFocusDimmerUsed()

Returns true if the focus dimmer is used for focus highlighting; false otherwise.

final boolean isKeepChildForeground()

Returns true if keeps foreground of child of this row, false otherwise.

boolean isUsingDefaultListSelectEffect()

Returns true so that default select effect is applied to each individual child of HorizontalGridView.

final boolean isUsingDefaultSelectEffect()

ListRowPresenter overrides the default select effect of RowPresenter and return false.

boolean isUsingDefaultShadow()

Default implementation returns true if SDK version >= 21, shadow (either static or z-order based) will be applied to each individual child of HorizontalGridView.

boolean isUsingOutlineClipping(Context context)

Returns true if leanback view outline is enabled on the system or false otherwise.

boolean isUsingZOrder(Context context)

Returns true if SDK >= L, where Z shadow is enabled so that Z order is enabled on each child of horizontal list.

void setEntranceTransitionState(RowPresenter.ViewHolder holder, boolean afterEntrance)

Changes the visibility of views.

void setExpandedRowHeight(int rowHeight)

Sets the expanded row height for rows created by this Presenter.

final void setHoverCardPresenterSelector(PresenterSelector selector)

Sets the PresenterSelector used for showing a select object in a hover card.

final void setKeepChildForeground(boolean keep)

When ListRowPresenter applies overlay color on the child, it may change child's foreground Drawable.

void setNumRows(int numRows)

Sets the numbers of rows for rendering the list of items.

void setRecycledPoolSize(Presenter presenter, int size)

Sets the recycled pool size for the given presenter.

void setRowHeight(int rowHeight)

Sets the row height for rows created by this Presenter.

final void setShadowEnabled(boolean enabled)

Enables or disables child shadow.

Protected methods

void applySelectLevelToChild(ListRowPresenter.ViewHolder rowViewHolder, View childView)

Applies select level to a child.

RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent)

Called to create a ViewHolder object for a Row.

ShadowOverlayHelper.Options createShadowOverlayOptions()

Create ShadowOverlayHelper Options.

void dispatchItemSelectedListener(RowPresenter.ViewHolder holder, boolean selected)

Dispatch item selected event using current selected item in the HorizontalGridView.

void initializeRowViewHolder(RowPresenter.ViewHolder holder)

Called after a RowPresenter.ViewHolder is created for a Row.

void onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item)

Binds the given row object to the given ViewHolder.

void onRowViewExpanded(RowPresenter.ViewHolder holder, boolean expanded)

Called when the row view's expanded state changes.

void onRowViewSelected(RowPresenter.ViewHolder holder, boolean selected)

Called when the given row view changes selection state.

void onSelectLevelChanged(RowPresenter.ViewHolder holder)

Applies select level to header and draws a default color dim over each child of HorizontalGridView.

void onUnbindRowViewHolder(RowPresenter.ViewHolder holder)

Unbinds the given ViewHolder.

Inherited methods

From class