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 |
摘要Presenter
用于以播放列表格式呈现媒体项目的类别。 如果媒体行希望包含自定义操作,则为该演示者提供的媒体项目数据可以实现界面MultiActionsProvider
。 播放列表中的媒体项目排列为垂直列表,每行保存由该类别的用户提供的每个媒体项目的详细信息以及一组可选的自定义操作。 每个媒体项目的详细信息和操作都可以单独调整。 通过设置主题的属性可以控制每个媒体行组件的外观。 演示者可以通过将setHasMediaRowSeparator(boolean)
设置为true来选择性地在媒体行之间提供行分隔符。
子类必须覆盖 onBindMediaDetails(AbstractMediaItemPresenter.ViewHolder, Object)
才能将其媒体项目模型数据绑定到每个行视图。
OnItemViewClickedListener
和 OnItemViewSelectedListener
可以以相同的方式用于处理媒体细节或每个单独操作视图上的选择或点击事件。
AbstractMediaListHeaderPresenter
可与此演示者结合使用,以显示带有标题视图的播放列表。
Nested classes |
|
---|---|
class |
AbstractMediaItemPresenter.ViewHolder ViewHolder为 |
Inherited constants |
---|
From class android.support.v17.leanback.widget.RowPresenter
|
Public constructors |
|
---|---|
AbstractMediaItemPresenter() 用于创建抽象媒体项目演示者的构造函数。 |
|
AbstractMediaItemPresenter(int themeId) 用于创建抽象媒体项目演示者的构造函数。 |
Public methods |
|
---|---|
Presenter |
getActionPresenter() 返回用于呈现媒体项目行动的演示者。 |
int |
getThemeId() 返回定义属性的主题的资源ID,该属性控制媒体项目行中不同小部件的外观。 |
boolean |
hasMediaRowSeparator() |
boolean |
isUsingDefaultSelectEffect() 如果此RowPresenter使用默认的调光效果,则返回true。 |
void |
setActionPresenter(Presenter actionPresenter) 设置动作演示者呈现每个媒体项目行中的每个可选自定义动作。 |
void |
setBackgroundColor(int color) 设置播放列表中行视图的背景颜色。 |
void |
setHasMediaRowSeparator(boolean hasSeparator) 指定是否应在媒体项目行之间使用行分隔符。 |
void |
setThemeId(int themeId) 设置用于设置媒体项行组件的主题。 |
Protected methods |
|
---|---|
RowPresenter.ViewHolder |
createRowViewHolder(ViewGroup parent) 调用为Row创建ViewHolder对象。 |
boolean |
isClippingChildren() 如果行视图应该剪切它的子元素,则返回true。 |
abstract void |
onBindMediaDetails(AbstractMediaItemPresenter.ViewHolder vh, Object item) 将媒体项目详细信息绑定到由 |
void |
onBindRowActions(AbstractMediaItemPresenter.ViewHolder vh) 将给定的媒体项目对象操作绑定到给定的ViewHolder的操作视图。 |
void |
onBindRowViewHolder(RowPresenter.ViewHolder vh, Object item) 将给定的行对象绑定到给定的ViewHolder。 |
void |
onUnbindMediaDetails(AbstractMediaItemPresenter.ViewHolder vh) 从 |
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 ()
用于创建抽象媒体项目演示者的构造函数。
AbstractMediaItemPresenter (int themeId)
用于创建抽象媒体项目演示者的构造函数。
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 ()
返回用于呈现媒体项目行动的演示者。
Returns | |
---|---|
Presenter |
the presenter used to render a media item row actions. |
int getThemeId ()
返回定义属性的主题的资源ID,该属性控制媒体项目行中不同小部件的外观。
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 ()
如果此RowPresenter使用默认的调光效果,则返回true。 子类可能(很可能)返回false并覆盖onSelectLevelChanged(ViewHolder)
。
Returns | |
---|---|
boolean |
void setActionPresenter (Presenter actionPresenter)
设置动作演示者呈现每个媒体项目行中的每个可选自定义动作。
Parameters | |
---|---|
actionPresenter |
Presenter : the presenter to be used for rendering a media item row actions. |
void setBackgroundColor (int color)
设置播放列表中行视图的背景颜色。 如果未设置,则使用来自主题的默认颜色defaultBrandColor。 如果指定了defaultBrandColor,则默认为v21上的android:attr / colorPrimary。
Parameters | |
---|---|
color |
int : The ARGB color used to set as the media list background color. |
void setHasMediaRowSeparator (boolean hasSeparator)
指定是否应在媒体项目行之间使用行分隔符。
Parameters | |
---|---|
hasSeparator |
boolean : true if a separator should be displayed, false otherwise. |
void setThemeId (int themeId)
设置用于设置媒体项行组件的主题。
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)
调用为Row创建ViewHolder对象。 子类将重写此方法以返回不同的具体ViewHolder对象。
Parameters | |
---|---|
parent |
ViewGroup : The parent View for the Row's view holder. |
Returns | |
---|---|
RowPresenter.ViewHolder |
A ViewHolder for the Row's View. |
boolean isClippingChildren ()
如果行视图应该剪切它的子元素,则返回true。 clipChildren标志在initializeRowViewHolder(ViewHolder)
视图中initializeRowViewHolder(ViewHolder)
。 请注意,幻灯片切换或爆炸转换需要关闭clipChildren。 默认值为false。
Returns | |
---|---|
boolean |
void onBindMediaDetails (AbstractMediaItemPresenter.ViewHolder vh, Object item)
将媒体项目详细信息绑定到由AbstractMediaItemPresenter
提供的AbstractMediaItemPresenter
。 该方法将由该演示者的用户覆盖。 这个主持人的子类可以通过调用任何媒体项目编号,名称,或持续时间的访问并结合个人的意见(取决于两者的观点是根据提供的主题属性可见), getMediaItemNumberView()
, getMediaItemNameView()
,并getMediaItemDurationView()
,在AbstractMediaItemPresenter.ViewHolder
作为本演示者的参数vh
提供。
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder : The ViewHolder for this AbstractMediaItemPresenter . |
item |
Object : The media item row object being presented. |
void onBindRowActions (AbstractMediaItemPresenter.ViewHolder vh)
将给定的媒体项目对象操作绑定到给定的ViewHolder的操作视图。
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder : ViewHolder for the media item. |
void onBindRowViewHolder (RowPresenter.ViewHolder vh, Object item)
将给定的行对象绑定到给定的ViewHolder。 派生类RowPresenter
重写onBindRowViewHolder(ViewHolder, Object)
必须通过超类的这个方法的实现来调用。
Parameters | |
---|---|
vh |
RowPresenter.ViewHolder
|
item |
Object
|
void onUnbindMediaDetails (AbstractMediaItemPresenter.ViewHolder vh)
从AbstractMediaItemPresenter
提供的视图中解除媒体项目详细信息。 如果需要,此方法可由该演示者的子类覆盖。
Parameters | |
---|---|
vh |
AbstractMediaItemPresenter.ViewHolder : ViewHolder to unbind from. |