public
abstract
class
AbstractMediaItemPresenter
extends RowPresenter
java.lang.Object | |||
↳ | android.support.v17.leanback.widget.Presenter | ||
↳ | android.support.v17.leanback.widget.RowPresenter | ||
↳ | android.support.v17.leanback.widget.AbstractMediaItemPresenter |
Abstract Presenter
class for rendering media items in a playlist format.
Media item data provided for this presenter can implement the interface
MultiActionsProvider
, if the media rows wish to contain custom actions.
Media items in the playlist are arranged as a vertical list with each row holding each media
item's details provided by the user of this class and a set of optional custom actions.
Each media item's details and actions are separately focusable.
The appearance of each one of the media row components can be controlled through setting
theme's attributes.
The presenter can optionally provide line separators between media rows by setting
setHasMediaRowSeparator(boolean)
to true.
Subclasses must override onBindMediaDetails(AbstractMediaItemPresenter.ViewHolder, Object)
to implement their media item model
data binding to each row view.
The OnItemViewClickedListener
and OnItemViewSelectedListener
can be used in the same fashion to handle selection or click events on either of
media details or each individual action views.
AbstractMediaListHeaderPresenter
can be used in conjunction with this presenter in
order to display a playlist with a header view.
Nested classes | |
---|---|
class |
AbstractMediaItemPresenter.ViewHolder
The ViewHolder for the |
Inherited constants |
---|
From
class
android.support.v17.leanback.widget.RowPresenter
|
Public constructors | |
---|---|
AbstractMediaItemPresenter()
Constructor used for creating an abstract media item presenter. |
|
AbstractMediaItemPresenter(int themeId)
Constructor used for creating an abstract media item presenter. |
Public methods | |
---|---|
Presenter
|
getActionPresenter()
Return the presenter used to render a media item row actions. |
int
|
getThemeId()
Return The resource id of the theme that defines attributes controlling the appearance of different widgets in a media item row. |
boolean
|
hasMediaRowSeparator()
|
boolean
|
isUsingDefaultSelectEffect()
Returns true if this RowPresenter is using the default dimming effect. |
void
|
setActionPresenter(Presenter actionPresenter)
Sets the action presenter rendering each optional custom action within each media item row. |
void
|
setBackgroundColor(int color)
Sets the background color for the row views within the playlist. |
void
|
setHasMediaRowSeparator(boolean hasSeparator)
Specifies whether a line separator should be used between media item rows. |
void
|
setThemeId(int themeId)
Sets the theme used to style a media item row components. |
Protected methods | |
---|---|
RowPresenter.ViewHolder
|
createRowViewHolder(ViewGroup parent)
Called to create a ViewHolder object for a Row. |
boolean
|
isClippingChildren()
Returns true if the Row view should clip it's children. |
abstract
void
|
onBindMediaDetails(AbstractMediaItemPresenter.ViewHolder vh, Object item)
Binds the media item details to their views provided by the
|
void
|
onBindRowActions(AbstractMediaItemPresenter.ViewHolder vh)
Binds the given media item object action to the given ViewHolder's action views. |
void
|
onBindRowViewHolder(RowPresenter.ViewHolder vh, Object item)
Binds the given row object to the given ViewHolder. |
void
|
onUnbindMediaDetails(AbstractMediaItemPresenter.ViewHolder vh)
Unbinds the media item details from their views provided by the
|
Inherited methods | |
---|---|
From
class
android.support.v17.leanback.widget.RowPresenter
| |
From
class
android.support.v17.leanback.widget.Presenter
| |
From
class
java.lang.Object
| |
From
interface
android.support.v17.leanback.widget.FacetProvider
|
AbstractMediaItemPresenter ()
Constructor used for creating an abstract media item presenter.
AbstractMediaItemPresenter (int themeId)
Constructor used for creating an abstract media item presenter.
Parameters | |
---|---|
themeId |
int :
The resource id of the theme that defines attributes controlling the
appearance of different widgets in a media item row.
|
Presenter getActionPresenter ()
Return the presenter used to render a media item row actions.
Returns | |
---|---|
Presenter |
the presenter used to render a media item row actions. |
int getThemeId ()
Return The resource id of the theme that defines attributes controlling the appearance of different widgets in a media item row.
Returns | |
---|---|
int |
The resource id of the theme that defines attributes controlling the appearance of different widgets in a media item row. |
boolean hasMediaRowSeparator ()
Returns | |
---|---|
boolean |
boolean isUsingDefaultSelectEffect ()
Returns true if this RowPresenter is using the default dimming effect.
A subclass may (most likely) return false and
override onSelectLevelChanged(ViewHolder)
.
Returns | |
---|---|
boolean |
void setActionPresenter (Presenter actionPresenter)
Sets the action presenter rendering each optional custom action within each media item row.
Parameters | |
---|---|
actionPresenter |
Presenter :
the presenter to be used for rendering a media item row actions.
|
void setBackgroundColor (int color)
Sets the background color for the row views within the playlist. If this is not set, a default color, defaultBrandColor, from theme is used. This defaultBrandColor defaults to android:attr/colorPrimary on v21, if it's specified.
Parameters | |
---|---|
color |
int :
The ARGB color used to set as the media list background color.
|
void setHasMediaRowSeparator (boolean hasSeparator)
Specifies whether a line separator should be used between media item rows.
Parameters | |
---|---|
hasSeparator |
boolean :
true if a separator should be displayed, false otherwise.
|
void setThemeId (int themeId)
Sets the theme used to style a media item row components.
Parameters | |
---|---|
themeId |
int :
The resource id of the theme that defines attributes controlling the
appearance of different widgets in a media item row.
|
RowPresenter.ViewHolder createRowViewHolder (ViewGroup parent)
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. |
boolean isClippingChildren ()
Returns true if the Row view should clip it's children. The clipChildren
flag is set on view in initializeRowViewHolder(ViewHolder)
. Note that
Slide transition or explode transition need turn off clipChildren.
Default value is false.
Returns | |
---|---|
boolean |
void onBindMediaDetails (AbstractMediaItemPresenter.ViewHolder vh, Object item)
Binds the media item details to their views provided by the
AbstractMediaItemPresenter
.
This method is to be overridden by the users of this presenter.
The subclasses of this presenter can access and bind individual views for either of the
media item number, name, or duration (depending on whichever views are visible according to
the providing theme attributes), by calling getMediaItemNumberView()
,
getMediaItemNameView()
, and getMediaItemDurationView()
,
on the AbstractMediaItemPresenter.ViewHolder
provided as the argument vh
of this presenter.
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder :
The ViewHolder for this AbstractMediaItemPresenter . |
item |
Object :
The media item row object being presented.
|
void onBindRowActions (AbstractMediaItemPresenter.ViewHolder vh)
Binds the given media item object action to the given ViewHolder's action views.
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder :
ViewHolder for the media item.
|
void onBindRowViewHolder (RowPresenter.ViewHolder vh, Object item)
Binds the given row object to the given ViewHolder.
Derived classes of RowPresenter
overriding
onBindRowViewHolder(ViewHolder, Object)
must call through the super class's
implementation of this method.
Parameters | |
---|---|
vh |
RowPresenter.ViewHolder
|
item |
Object
|
void onUnbindMediaDetails (AbstractMediaItemPresenter.ViewHolder vh)
Unbinds the media item details from their views provided by the
AbstractMediaItemPresenter
.
This method can be overridden by the subclasses of this presenter if required.
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder :
ViewHolder to unbind from.
|