DetailsOverviewRowPresenter
class DetailsOverviewRowPresenter : RowPresenter
kotlin.Any | |||
↳ | androidx.leanback.widget.Presenter | ||
↳ | androidx.leanback.widget.RowPresenter | ||
↳ | androidx.leanback.widget.DetailsOverviewRowPresenter |
Renders a DetailsOverviewRow
to display an overview of an item. Typically this row will be the first row in a fragment such as the DetailsFragment
. The View created by the DetailsOverviewRowPresenter is made in three parts: ImageView on the left, action list view on the bottom and a customizable detailed description view on the right.
The detailed description is rendered using a Presenter
passed in DetailsOverviewRowPresenter
. Typically this will be an instance of AbstractDetailsDescriptionPresenter
. The application can access the detailed description ViewHolder from mDetailsDescriptionViewHolder
.
To participate in activity transition, call setSharedElementEnterTransition
during Activity's onCreate().
Because transition support and layout are fully controlled by DetailsOverviewRowPresenter, developer can not override DetailsOverviewRowPresenter.ViewHolder for adding/replacing views of DetailsOverviewRowPresenter. If further customization is required beyond replacing the detailed description, the application should create a new row presenter class.
Summary
Nested types |
---|
A ViewHolder for the DetailsOverviewRow. |
Public constructors |
---|
Constructor for a DetailsOverviewRowPresenter. |
Public functions |
|
---|---|
@ColorInt Int |
Returns the background color. |
OnActionClickedListener! |
Returns the listener for Action click events. |
Boolean |
Returns true if the layout style is large. |
Boolean |
Returns true if this RowPresenter is using the default dimming effect. |
Unit |
Sets the background color. |
Unit |
Sets the listener for Action click events. |
Unit |
Sets the enter transition of target activity to be transiting into overview row created by this presenter. |
Unit |
Sets the enter transition of target activity to be transiting into overview row created by this presenter. |
Unit |
Sets the layout style to be large or small. |
Protected functions |
|
---|---|
RowPresenter.ViewHolder! |
Called to create a ViewHolder object for a Row. |
Unit |
Binds the given row object to the given ViewHolder. |
Unit |
Invoked when the row view is attached to the window. |
Unit |
Invoked when the row view is detached from the window. |
Unit |
Called when the given row view changes selection state. |
Unit |
Callback when the select level changes. |
Unit |
Unbinds the given ViewHolder. |
Inherited Constants |
||||||||
---|---|---|---|---|---|---|---|---|
|
Inherited functions |
||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Public constructors
Public functions
fungetBackgroundColor(): @ColorInt Int
Returns the background color. If no background color was set, transparent is returned.
fungetOnActionClickedListener(): OnActionClickedListener!
Returns the listener for Action click events.
isUsingDefaultSelectEffect
funisUsingDefaultSelectEffect(): Boolean
Returns true if this RowPresenter is using the default dimming effect. A subclass may (most likely) return false and override onSelectLevelChanged
.
funsetBackgroundColor(color: @ColorInt Int): Unit
Sets the background color. If not set, a default from the theme will be used.
funsetOnActionClickedListener(listener: OnActionClickedListener!): Unit
Sets the listener for Action click events.
funsetSharedElementEnterTransition(
activity: Activity!,
sharedElementName: String!
): Unit
Sets the enter transition of target activity to be transiting into overview row created by this presenter. The transition will be cancelled if overview image is not loaded in a default timeout period.
It assumes shared element passed from calling activity is an ImageView; the shared element transits to overview image on the starting edge of the detail overview row, while bounds of overview row grows and reveals text and action buttons.
The method must be invoked in target Activity's onCreate().
funsetSharedElementEnterTransition(
activity: Activity!,
sharedElementName: String!,
timeoutMs: Long
): Unit
Sets the enter transition of target activity to be transiting into overview row created by this presenter. The transition will be cancelled if the overview image is not loaded in the timeout period.
It assumes shared element passed from calling activity is an ImageView; the shared element transits to overview image on the starting edge of the detail overview row, while bounds of overview row grows and reveals text and action buttons.
The method must be invoked in target Activity's onCreate().
funsetStyleLarge(large: Boolean): Unit
Sets the layout style to be large or small. This affects the height of the overview, including the text description. The default is large.
Protected functions
createRowViewHolder
protected funcreateRowViewHolder(parent: ViewGroup!): RowPresenter.ViewHolder!
Called to create a ViewHolder object for a Row. Subclasses will override this method to return a different concrete ViewHolder object.
Parameters | |
---|---|
parent: ViewGroup! |
The parent View for the Row's view holder. |
Returns | |
---|---|
RowPresenter.ViewHolder! |
A ViewHolder for the Row's View. |
onBindRowViewHolder
protected funonBindRowViewHolder(holder: RowPresenter.ViewHolder, item: Any): Unit
Binds the given row object to the given ViewHolder. Derived classes of RowPresenter
overriding onBindRowViewHolder
must call through the super class's implementation of this method.
onRowViewAttachedToWindow
protected funonRowViewAttachedToWindow(vh: RowPresenter.ViewHolder): Unit
Invoked when the row view is attached to the window.
onRowViewDetachedFromWindow
protected funonRowViewDetachedFromWindow(vh: RowPresenter.ViewHolder): Unit
Invoked when the row view is detached from the window.
onRowViewSelected
protected funonRowViewSelected(vh: RowPresenter.ViewHolder!, selected: Boolean): Unit
Called when the given row view changes selection state. A subclass may override this to respond to selected state changes of a Row. A subclass may make visual changes to Row view but must not create animation on the Row view.
onSelectLevelChanged
protected funonSelectLevelChanged(holder: RowPresenter.ViewHolder!): Unit
Callback when the select level changes. The default implementation applies the select level to setSelectLevel
when getSelectEffectEnabled
is true. Subclasses may override this function and implement a different select effect. In this case, the method isUsingDefaultSelectEffect
should also be overridden to disable the default dimming effect.
onUnbindRowViewHolder
protected funonUnbindRowViewHolder(holder: RowPresenter.ViewHolder): Unit
Unbinds the given ViewHolder. Derived classes of RowPresenter
overriding onUnbindRowViewHolder
must call through the super class's implementation of this method.