Google is committed to advancing racial equity for Black communities. See how.

FullWidthDetailsOverviewRowPresenter

open class FullWidthDetailsOverviewRowPresenter : RowPresenter
kotlin.Any
   ↳ androidx.leanback.widget.Presenter
   ↳ androidx.leanback.widget.RowPresenter
   ↳ androidx.leanback.widget.FullWidthDetailsOverviewRowPresenter

Renders a DetailsOverviewRow to display an overview of an item. Typically this row will be the first row in a fragment such as the androidx.leanback.app.DetailsFragment. The View created by the FullWidthDetailsOverviewRowPresenter is made in three parts: logo view on the left, action list view on the top and a customizable detailed description view on the right.

The detailed description is rendered using a Presenter passed in FullWidthDetailsOverviewRowPresenter(Presenter). Typically this will be an instance of AbstractDetailsDescriptionPresenter. The application can access the detailed description ViewHolder from ViewHolder#getDetailsDescriptionViewHolder().

The logo view is rendered using a customizable DetailsOverviewLogoPresenter passed in FullWidthDetailsOverviewRowPresenter(Presenter, DetailsOverviewLogoPresenter). The application can access the logo ViewHolder from ViewHolder#getLogoViewHolder().

To support activity shared element transition, call setListener(Listener) with FullWidthDetailsOverviewSharedElementHelper during Activity's onCreate(). Application is free to create its own "shared element helper" class using the Listener for image binding. Call setParticipatingEntranceTransition(boolean) with false

The view has three states: STATE_HALF STATE_FULL and STATE_SMALL. See androidx.leanback.app.DetailsFragment where it switches states based on selected row position.

Summary

Nested classes
abstract

Listeners for events on ViewHolder.

open

A ViewHolder for the DetailsOverviewRow.

Constants
static Int

This is the alignment mode that the ending edge of logo and the starting edge of description align to the middle of the overview view.

static Int

This is the alignment mode that the logo and description align to the starting edge of the overview view.

static Int

This is the state when the view covers full width and height of screen.

static Int

This is the default state corresponding to layout file.

static Int

This is the state where the view shrinks to a small banner.

Inherited constants
Public constructors
<init>(detailsPresenter: Presenter!)

Constructor for a FullWidthDetailsOverviewRowPresenter.

<init>(detailsPresenter: Presenter!, logoPresenter: DetailsOverviewLogoPresenter!)

Constructor for a FullWidthDetailsOverviewRowPresenter.

Public methods
Int

Returns the background color of actions.

Int

Returns alignment mode of Description.

Int

Returns the background color.

Int

Returns the initial state used to create ViewHolder.

open OnActionClickedListener!

Returns the listener for Action click events.

Boolean

Returns true if the overview should be part of shared element transition.

Boolean

Unit

Called by DetailsOverviewLogoPresenter to notify logo was bound to view.

Unit

Sets the background color for Action Bar.

Unit
setAlignmentMode(alignmentMode: Int)

Set alignment mode of Description.

Unit

Sets the background color.

open Unit

Unit

Change the initial state used to create ViewHolder.

Unit

Set listener for details overview presenter.

open Unit

Sets the listener for Action click events.

Unit

Sets if the overview should be part of shared element transition.

Unit

Switch state of a ViewHolder.

Protected methods
open RowPresenter.ViewHolder!

open Int

Get resource id to inflate the layout.

open Boolean

open Unit

open Unit

Layout logo position based on current state.

open Unit

Layout overview frame based on current state.

open Unit

open Unit

open Unit

open Unit

Called when ViewHolder#getState() changes.

open Unit

Inherited functions
Properties
Int

Constants

ALIGN_MODE_MIDDLE

static val ALIGN_MODE_MIDDLE: Int

This is the alignment mode that the ending edge of logo and the starting edge of description align to the middle of the overview view. Note that this might not be the exact horizontal center of the overview view.

Value: 1

ALIGN_MODE_START

static val ALIGN_MODE_START: Int

This is the alignment mode that the logo and description align to the starting edge of the overview view.

Value: 0

STATE_FULL

static val STATE_FULL: Int

This is the state when the view covers full width and height of screen.

Value: 1

STATE_HALF

static val STATE_HALF: Int

This is the default state corresponding to layout file. The view takes full width of screen and covers bottom half of the screen.

Value: 0

STATE_SMALL

static val STATE_SMALL: Int

This is the state where the view shrinks to a small banner.

Value: 2

Public constructors

<init>

FullWidthDetailsOverviewRowPresenter(detailsPresenter: Presenter!)

Constructor for a FullWidthDetailsOverviewRowPresenter.

Parameters
detailsPresenter Presenter!: The Presenter used to render the detailed description of the row.

<init>

FullWidthDetailsOverviewRowPresenter(
    detailsPresenter: Presenter!,
    logoPresenter: DetailsOverviewLogoPresenter!)

Constructor for a FullWidthDetailsOverviewRowPresenter.

Parameters
detailsPresenter Presenter!: The Presenter used to render the detailed description of the row.
logoPresenter DetailsOverviewLogoPresenter!: The Presenter used to render the logo view.

Public methods

getActionsBackgroundColor

fun getActionsBackgroundColor(): Int

Returns the background color of actions. If setActionsBackgroundColor(int) is not called, transparent is returned.

getAlignmentMode

fun getAlignmentMode(): Int

Returns alignment mode of Description.

Return
Int One of ALIGN_MODE_MIDDLE or ALIGN_MODE_START.

getBackgroundColor

fun getBackgroundColor(): Int

Returns the background color. If setBackgroundColor(int), transparent is returned.

getInitialState

fun getInitialState(): Int

Returns the initial state used to create ViewHolder.

getOnActionClickedListener

open fun getOnActionClickedListener(): OnActionClickedListener!

Returns the listener for Action click events.

isParticipatingEntranceTransition

fun isParticipatingEntranceTransition(): Boolean

Returns true if the overview should be part of shared element transition.

isUsingDefaultSelectEffect

fun isUsingDefaultSelectEffect(): Boolean
fun notifyOnBindLogo(viewHolder: FullWidthDetailsOverviewRowPresenter.ViewHolder!): Unit

Called by DetailsOverviewLogoPresenter to notify logo was bound to view. Application should not directly call this method.

Parameters
viewHolder FullWid