belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1
AbstractMediaItemPresenter
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.
Each media item row provides a view flipper for switching between different views depending on
the playback state.
A default layout is provided by this presenter for rendering different playback states, or a
custom layout can be provided by the user by overriding the
playbackMediaItemNumberViewFlipperLayout attribute in the currently specified theme.
Subclasses should also override getMediaPlayState(Object)
to provide the current play
state of their media item model in case they wish to use different views depending on the
playback state.
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.
Summary
Nested classes | |
---|---|
class |
AbstractMediaItemPresenter.ViewHolder
The ViewHolder for the |
Constants | |
---|---|
int |
PLAY_STATE_INITIAL
Indicating that the media item is currently neither playing nor paused. |
int |
PLAY_STATE_PAUSED
Indicating that the media item is currently paused. |
int |
PLAY_STATE_PLAYING
Indicating that the media item is currently playing |
Inherited constants |
---|
![]()
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
|
onBindMediaPlayState(AbstractMediaItemPresenter.ViewHolder vh)
Binds the media item number view to the appropriate play state view of the media item. |
void
|
onUnbindMediaPlayState(AbstractMediaItemPresenter.ViewHolder vh)
Called when the given ViewHolder wants to unbind the play state view. |
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. |
int
|
getMediaPlayState(Object item)
Returns the current play state of the given media item. |
boolean
|
isClippingChildren()
Returns true if the Row view should clip its 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 | |
---|---|
![]()
android.support.v17.leanback.widget.RowPresenter
| |
![]()
android.support.v17.leanback.widget.Presenter
|