DetailsOverviewRowPresenter
public class DetailsOverviewRowPresenter extends RowPresenter
| java.lang.Object | |||
| ↳ | 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 |
|---|
public final inner class DetailsOverviewRowPresenter.ViewHolder extends RowPresenter.ViewHolderA ViewHolder for the DetailsOverviewRow. |
Public constructors |
|---|
Constructor for a DetailsOverviewRowPresenter. |
Public methods |
|
|---|---|
@ColorInt int |
Returns the background color. |
OnActionClickedListener |
Returns the listener for Action click events. |
boolean |
Returns true if the layout style is large. |
final boolean |
Returns true if this RowPresenter is using the default dimming effect. |
void |
Sets the background color. |
void |
Sets the listener for Action click events. |
final void |
Sets the enter transition of target activity to be transiting into overview row created by this presenter. |
final void |
Sets the enter transition of target activity to be transiting into overview row created by this presenter. |
void |
Sets the layout style to be large or small. |
Protected methods |
|
|---|---|
RowPresenter.ViewHolder |
Called to create a ViewHolder object for a Row. |
void |
Binds the given row object to the given ViewHolder. |
void |
Invoked when the row view is attached to the window. |
void |
Invoked when the row view is detached from the window. |
void |
Called when the given row view changes selection state. |
void |
Callback when the select level changes. |
void |
Unbinds the given ViewHolder. |
Inherited Constants |
||||||||
|---|---|---|---|---|---|---|---|---|
|
Inherited methods |
||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Public constructors
Public methods
public @ColorInt intgetBackgroundColor()
Returns the background color. If no background color was set, transparent is returned.
public OnActionClickedListenergetOnActionClickedListener()
Returns the listener for Action click events.
isUsingDefaultSelectEffect
public final boolean isUsingDefaultSelectEffect()Returns true if this RowPresenter is using the default dimming effect. A subclass may (most likely) return false and override onSelectLevelChanged.
public voidsetBackgroundColor(@ColorInt int color)
Sets the background color. If not set, a default from the theme will be used.
public voidsetOnActionClickedListener(OnActionClickedListener listener)
Sets the listener for Action click events.
public final voidsetSharedElementEnterTransition(
Activity activity,
String sharedElementName
)
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().
public final voidsetSharedElementEnterTransition(
Activity activity,
String sharedElementName,
long timeoutMs
)
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().
public void setStyleLarge(boolean large)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 methods
createRowViewHolder
protected RowPresenter.ViewHoldercreateRowViewHolder(ViewGroup parent)
Called to create a ViewHolder object for a Row. Subclasses will override this method to return a different concrete ViewHolder object.
| Parameters | |
|---|---|
ViewGroup parent |
The parent View for the Row's view holder. |
| Returns | |
|---|---|
RowPresenter.ViewHolder |
A ViewHolder for the Row's View. |
onBindRowViewHolder
protected voidonBindRowViewHolder(
@NonNull RowPresenter.ViewHolder holder,
@NonNull Object item
)
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 voidonRowViewAttachedToWindow(@NonNull RowPresenter.ViewHolder vh)
Invoked when the row view is attached to the window.
onRowViewDetachedFromWindow
protected voidonRowViewDetachedFromWindow(@NonNull RowPresenter.ViewHolder vh)
Invoked when the row view is detached from the window.
onRowViewSelected
protected voidonRowViewSelected(RowPresenter.ViewHolder vh, boolean selected)
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 voidonSelectLevelChanged(RowPresenter.ViewHolder holder)
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 voidonUnbindRowViewHolder(@NonNull RowPresenter.ViewHolder holder)
Unbinds the given ViewHolder. Derived classes of RowPresenter overriding onUnbindRowViewHolder must call through the super class's implementation of this method.