public class FullWidthDetailsOverviewRowPresenter
extends RowPresenter
java.lang.Object | |||
↳ | android.support.v17.leanback.widget.Presenter | ||
↳ | android.support.v17.leanback.widget.RowPresenter | ||
↳ | android.support.v17.leanback.widget.FullWidthDetailsOverviewRowPresenter |
呈现DetailsOverviewRow
以显示项目的概览。 通常这一行将是片段中的第一行,例如DetailsFragment
。 由FullWidthDetailsOverviewRowPresenter创建的视图由三部分组成:左侧的徽标视图,顶部的动作列表视图以及右侧的可定制详细描述视图。
详细描述使用在Presenter
传递的FullWidthDetailsOverviewRowPresenter(Presenter)
来呈现。 通常这将是AbstractDetailsDescriptionPresenter
一个实例。 该应用程序可以从getDetailsDescriptionViewHolder()
访问详细描述getDetailsDescriptionViewHolder()
。
标志视图是使用一个可定制的渲染DetailsOverviewLogoPresenter
传入FullWidthDetailsOverviewRowPresenter(Presenter, DetailsOverviewLogoPresenter)
。 该应用程序可以从getLogoViewHolder()
访问徽标getLogoViewHolder()
。
要支持活动共享元素转换,请在Activity的onCreate()期间通过FullWidthDetailsOverviewSharedElementHelper
调用setListener(Listener)
。 应用程序可以自由地使用Listener创建自己的“共享元素助手”类来进行图像绑定。 用假来电setParticipatingEntranceTransition(boolean)
该视图有三个状态: STATE_HALF
STATE_FULL
和STATE_SMALL
。 请参阅DetailsFragment
,它根据选定的行位置切换状态。
Nested classes |
|
---|---|
class |
FullWidthDetailsOverviewRowPresenter.Listener ViewHolder上的事件监听器。 |
class |
FullWidthDetailsOverviewRowPresenter.ViewHolder DetailsOverviewRow的ViewHolder。 |
Constants |
|
---|---|
int |
ALIGN_MODE_MIDDLE 这是对齐模式,即徽标的结尾边缘和描述的起始边缘与概览视图的中间对齐。 |
int |
ALIGN_MODE_START 这是徽标和说明与概览视图的起始边缘对齐的对齐方式。 |
int |
STATE_FULL 这是视图覆盖屏幕的全部宽度和高度时的状态。 |
int |
STATE_HALF 这是与布局文件相对应的默认状态。 |
int |
STATE_SMALL 这是视图缩小到小横幅的状态。 |
Inherited constants |
---|
From class android.support.v17.leanback.widget.RowPresenter
|
Fields |
|
---|---|
protected int |
mInitialState |
Public constructors |
|
---|---|
FullWidthDetailsOverviewRowPresenter(Presenter detailsPresenter) FullWidthDetailsOverviewRowPresenter的构造函数。 |
|
FullWidthDetailsOverviewRowPresenter(Presenter detailsPresenter, DetailsOverviewLogoPresenter logoPresenter) FullWidthDetailsOverviewRowPresenter的构造函数。 |
Public methods |
|
---|---|
final int |
getActionsBackgroundColor() 返回操作的背景颜色。 |
final int |
getAlignmentMode() 返回说明的对齐方式。 |
final int |
getBackgroundColor() 返回背景颜色。 |
final int |
getInitialState() 返回用于创建ViewHolder的初始状态。 |
OnActionClickedListener |
getOnActionClickedListener() 返回Action单击事件的侦听器。 |
final boolean |
isParticipatingEntranceTransition() 如果概览应该是共享元素转换的一部分,则返回true。 |
final boolean |
isUsingDefaultSelectEffect() 如果此RowPresenter使用默认的调光效果,则返回true。 |
final void |
notifyOnBindLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder) 叫 |
final void |
setActionsBackgroundColor(int color) 设置Action Bar的背景颜色。 |
final void |
setAlignmentMode(int alignmentMode) 设置说明的对齐方式。 |
final void |
setBackgroundColor(int color) 设置背景颜色。 |
void |
setEntranceTransitionState(RowPresenter.ViewHolder holder, boolean afterEntrance) 更改视图的可见性。 |
final void |
setInitialState(int state) 更改用于创建ViewHolder的初始状态。 |
final void |
setListener(FullWidthDetailsOverviewRowPresenter.Listener listener) 设置监听器以获取详细信息演示者。 |
void |
setOnActionClickedListener(OnActionClickedListener listener) 设置Action单击事件的侦听器。 |
final void |
setParticipatingEntranceTransition(boolean participating) 设置概览是否是共享元素转换的一部分。 |
final void |
setState(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int state) 切换ViewHolder的状态。 |
Protected methods |
|
---|---|
RowPresenter.ViewHolder |
createRowViewHolder(ViewGroup parent) 调用为Row创建ViewHolder对象。 |
int |
getLayoutResourceId() 获取资源ID来扩充布局。 |
boolean |
isClippingChildren() 如果行视图应该剪切它的子元素,则返回true。 |
void |
onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item) 将给定的行对象绑定到给定的ViewHolder。 |
void |
onLayoutLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged) 根据当前状态布置徽标位置。 |
void |
onLayoutOverviewFrame(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged) 基于当前状态的布局概览框架。 |
void |
onRowViewAttachedToWindow(RowPresenter.ViewHolder vh) 在行视图附加到窗口时调用。 |
void |
onRowViewDetachedFromWindow(RowPresenter.ViewHolder vh) 当行视图从窗口分离时调用。 |
void |
onSelectLevelChanged(RowPresenter.ViewHolder holder) 当选择级别改变时回调。 |
void |
onStateChanged(FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState) 当 |
void |
onUnbindRowViewHolder(RowPresenter.ViewHolder holder) 取消绑定给定的ViewHolder。 |
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
|
int ALIGN_MODE_MIDDLE
这是对齐模式,即徽标的结尾边缘和描述的起始边缘与概览视图的中间对齐。 请注意,这可能不是概览视图的确切水平中心。
常数值:1(0x00000001)
int ALIGN_MODE_START
这是徽标和说明与概览视图的起始边缘对齐的对齐方式。
常量值:0(0x00000000)
int STATE_FULL
这是视图覆盖屏幕的全部宽度和高度时的状态。
常数值:1(0x00000001)
int STATE_HALF
这是与布局文件相对应的默认状态。 该视图采用全屏宽度并覆盖屏幕的下半部分。
常量值:0(0x00000000)
int STATE_SMALL
这是视图缩小到小横幅的状态。
常量值:2(0x00000002)
int mInitialState
FullWidthDetailsOverviewRowPresenter (Presenter detailsPresenter)
FullWidthDetailsOverviewRowPresenter的构造函数。
Parameters | |
---|---|
detailsPresenter |
Presenter : The Presenter used to render the detailed description of the row. |
FullWidthDetailsOverviewRowPresenter (Presenter detailsPresenter, DetailsOverviewLogoPresenter logoPresenter)
FullWidthDetailsOverviewRowPresenter的构造函数。
Parameters | |
---|---|
detailsPresenter |
Presenter : The Presenter used to render the detailed description of the row. |
logoPresenter |
DetailsOverviewLogoPresenter : The Presenter used to render the logo view. |
int getActionsBackgroundColor ()
返回操作的背景颜色。 如果未调用setActionsBackgroundColor(int)
,则返回透明。
Returns | |
---|---|
int |
int getAlignmentMode ()
返回说明的对齐方式。
Returns | |
---|---|
int |
One of ALIGN_MODE_MIDDLE or ALIGN_MODE_START . |
int getInitialState ()
返回用于创建ViewHolder的初始状态。
Returns | |
---|---|
int |
OnActionClickedListener getOnActionClickedListener ()
返回Action单击事件的侦听器。
Returns | |
---|---|
OnActionClickedListener |
boolean isParticipatingEntranceTransition ()
如果概览应该是共享元素转换的一部分,则返回true。
Returns | |
---|---|
boolean |
boolean isUsingDefaultSelectEffect ()
如果此RowPresenter使用默认的调光效果,则返回true。 子类可能(很可能)返回false并覆盖onSelectLevelChanged(ViewHolder)
。
Returns | |
---|---|
boolean |
void notifyOnBindLogo (FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder)
叫DetailsOverviewLogoPresenter
通知标志必然要查看。 应用程序不应该直接调用此方法。
Parameters | |
---|---|
viewHolder |
FullWidthDetailsOverviewRowPresenter.ViewHolder : The row ViewHolder that has logo bound to view. |
void setActionsBackgroundColor (int color)
设置Action Bar的背景颜色。 如果未设置,则将使用该主题的默认值。
Parameters | |
---|---|
color |
int
|
void setAlignmentMode (int alignmentMode)
设置说明的对齐方式。
Parameters | |
---|---|
alignmentMode |
int : One of ALIGN_MODE_MIDDLE or ALIGN_MODE_START |
void setBackgroundColor (int color)
设置背景颜色。 如果未设置,则将使用该主题的默认值。
Parameters | |
---|---|
color |
int
|
void setEntranceTransitionState (RowPresenter.ViewHolder holder, boolean afterEntrance)
更改视图的可见性。 入场过渡将针对改变视野的观点进行。 一个子类可以重写并从调用super.setEntranceTransitionState()开始。 该方法由该片段调用,不应该由应用程序直接调用。
Parameters | |
---|---|
holder |
RowPresenter.ViewHolder : The ViewHolder of the row. |
afterEntrance |
boolean : true if children of row participating in entrance transition should be set to visible, false otherwise. |
void setInitialState (int state)
更改用于创建ViewHolder的初始状态。
Parameters | |
---|---|
state |
int
|
void setListener (FullWidthDetailsOverviewRowPresenter.Listener listener)
设置监听器以获取详细信息演示者。 必须在创建ViewHolder之前调用。
Parameters | |
---|---|
listener |
FullWidthDetailsOverviewRowPresenter.Listener
|
void setOnActionClickedListener (OnActionClickedListener listener)
设置Action单击事件的侦听器。
Parameters | |
---|---|
listener |
OnActionClickedListener
|
void setParticipatingEntranceTransition (boolean participating)
设置概览是否是共享元素转换的一部分。
Parameters | |
---|---|
participating |
boolean
|
void setState (FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int state)
切换ViewHolder的状态。
Parameters | |
---|---|
viewHolder |
FullWidthDetailsOverviewRowPresenter.ViewHolder : The ViewHolder to change state. |
state |
int : New state, can be STATE_FULL , STATE_HALF or STATE_SMALL . |
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 onBindRowViewHolder (RowPresenter.ViewHolder holder, Object item)
将给定的行对象绑定到给定的ViewHolder。 派生类RowPresenter
覆盖onBindRowViewHolder(ViewHolder, Object)
必须通过超类的这个方法的实现来调用。
Parameters | |
---|---|
holder |
RowPresenter.ViewHolder
|
item |
Object
|
void onLayoutLogo (FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged)
根据当前状态布置徽标位置。 子类可能会覆盖。 当标识被绑定到查看或状态更改时调用该方法。
Parameters | |
---|---|
viewHolder |
FullWidthDetailsOverviewRowPresenter.ViewHolder : The row ViewHolder that contains the logo. |
oldState |
int : The old state, can be same as current viewHolder.getState() |
logoChanged |
boolean : Whether logo was changed. |
void onLayoutOverviewFrame (FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState, boolean logoChanged)
基于当前状态的布局概览框架。 子类可能会覆盖。 当标识被绑定到查看或状态更改时调用该方法。
Parameters | |
---|---|
viewHolder |
FullWidthDetailsOverviewRowPresenter.ViewHolder : The row ViewHolder that contains the logo. |
oldState |
int : The old state, can be same as current viewHolder.getState() |
logoChanged |
boolean : Whether logo was changed. |
void onRowViewAttachedToWindow (RowPresenter.ViewHolder vh)
在行视图附加到窗口时调用。
Parameters | |
---|---|
vh |
RowPresenter.ViewHolder
|
void onRowViewDetachedFromWindow (RowPresenter.ViewHolder vh)
当行视图从窗口分离时调用。
Parameters | |
---|---|
vh |
RowPresenter.ViewHolder
|
void onSelectLevelChanged (RowPresenter.ViewHolder holder)
当选择级别改变时回调。 当getSelectEffectEnabled()
为真时,默认实现将选择级别应用于setSelectLevel(RowHeaderPresenter.ViewHolder, float)
。 子类可以重写此函数并实现不同的选择效果。 在这种情况下,方法isUsingDefaultSelectEffect()
也应该被覆盖以禁用默认的调光效果。
Parameters | |
---|---|
holder |
RowPresenter.ViewHolder
|
void onStateChanged (FullWidthDetailsOverviewRowPresenter.ViewHolder viewHolder, int oldState)
当getState()
发生变化时调用。 子类可能会覆盖。 默认实现调用onLayoutLogo(ViewHolder, int, boolean)
和onLayoutOverviewFrame(ViewHolder, int, boolean)
。
Parameters | |
---|---|
viewHolder |
FullWidthDetailsOverviewRowPresenter.ViewHolder : The ViewHolder which state changed. |
oldState |
int : The old state. |
void onUnbindRowViewHolder (RowPresenter.ViewHolder holder)
取消绑定给定的ViewHolder。 派生类RowPresenter
覆盖onUnbindRowViewHolder(ViewHolder)
必须通过超类的这个方法的实现进行调用。
Parameters | |
---|---|
holder |
RowPresenter.ViewHolder
|