public class GuidedStepFragment
extends Fragment
java.lang.Object | ||
↳ | android.app.Fragment | |
↳ | android.support.v17.leanback.app.GuidedStepFragment |
GuidedStepFragment用于指导用户完成一个决策或一系列决策。 它由左侧的指导视图和右侧的视图组成,其中包含可能的操作列表。
GuidedStepFragment的客户端必须创建一个自定义子类以附加到他们的活动。 此自定义子类提供构建用户界面和响应用户操作所需的信息。 至少,子类应该覆盖:
onCreateGuidance(Bundle)
, to provide instructions to the useronCreateActions(List
, Bundle)
, to provide a set of GuidedAction
s the user can takeonGuidedActionClicked(GuidedAction)
, to respond to those actions客户使用以下帮助函数将GuidedStepFragment添加到Activity或FragmentManager:
addAsRoot(Activity, GuidedStepFragment, int)
, to be called during Activity onCreate, adds GuidedStepFragment as the first Fragment in activity.add(FragmentManager, GuidedStepFragment)
or add(FragmentManager, GuidedStepFragment, int)
, to add GuidedStepFragment on top of existing Fragments or replacing existing GuidedStepFragment when moving forward to next step.finishGuidedStepFragments()
can either finish the activity or pop all GuidedStepFragment from stack. setUiStyle(int)
to select fragment transition and remember the stack entry where it need pops to. GuidedStepFragment将其视觉样式委托给称为设计师的类。 GuidanceStylist
负责左侧指导视图,而GuidedActionsStylist
负责正确操作视图。 造型师使用主题属性来派生与演示文稿相关的值,例如颜色,动画等.GuidanceStylist和GuidedActionsStylist的大多数简单视觉方面都可以通过主题进行自定义; 请参阅其文档以获取更多信息。
GuidedStepFragments必须能够访问适当的主题才能让设计师正常运作。 具体来说,该片段必须接收Theme_Leanback_GuidedStep
,或者其父级被设置为该主题的主题。 可以通过以下三种方式之一提供主题:
LeanbackGuidedStepTheme_guidedStepTheme
. If present, this theme will be used by GuidedStepFragment as an overlay to the Activity's theme.onProvideTheme()
method. This can be useful if a subclass is used across multiple Activities.如果主题以多种方式提供,则onProvideTheme覆盖优先,然后是Activty的主题。 (父主题已经设置为引导步骤主题的主题不需要设置guidedStepTheme属性;如果设置,它将被忽略。)
如果主题没有提供足够的可定制性,那么设计师可以通过onCreateGuidanceStylist()
和onCreateActionsStylist()
方法将其分类并提供给onCreateActionsStylist()
。 造型师有简单的挂钩,以便子类可以覆盖布局文件; 子类也可能有更复杂的逻辑来确定样式。
GuidedStepFragments可以组合在一起以提供指导序列。 GuidedStepFragments按序列使用由GuidanceStylist
和GuidedActionsStylist
(或子类)在步骤之间转换期间提供的自定义动画。 客户端应该使用add(FragmentManager, GuidedStepFragment)
将后续GuidedFragments放置到片段堆栈上,以便自定义动画得到正确配置。 (当片段堆栈随后被任何正常机制弹出时,自动触发自定义动画。)
注意:目前以这种方式分组的GuidedStepFragments都必须以编程方式定义,而不是以XML格式定义。 将来可能会取消此限制。
XML attributes |
|
---|---|
android.support.v17.leanback:guidedActionContentWidthWeight |
Theme attribute used for the weight of actions. |
android.support.v17.leanback:guidedActionContentWidthWeightTwoPanels |
Theme attribute used for the weight of actions when there are two panels. |
android.support.v17.leanback:guidedActionsBackground |
Theme attribute for the background of GuidedActions. |
android.support.v17.leanback:guidedActionsBackgroundDark |
Theme attribute for the dark version background of GuidedActions. |
android.support.v17.leanback:guidedActionsElevation |
Theme attribute for the shadow elevation of GuidedActions. |
android.support.v17.leanback:guidedStepBackground |
Theme attribute of background drawable used by GuidedStepFragment. |
android.support.v17.leanback:guidedStepTheme |
Theme attribute for the overall theme used in a GuidedStepFragment. |
Inherited XML attributes |
|
---|---|
From class android.app.Fragment
|
Constants |
|
---|---|
String |
EXTRA_UI_STYLE 用户界面样式的片段参数名称。 |
int |
UI_STYLE_ACTIVITY_ROOT 参数 |
int |
UI_STYLE_DEFAULT 这个常数已被弃用。 与 |
int |
UI_STYLE_ENTRANCE 参数 |
int |
UI_STYLE_REPLACE 这是我们使用GuidedStepFragment替换另一个现有的GuidedStepFragment的情况,当前进到下一步时。 |
Inherited constants |
---|
From interface android.content.ComponentCallbacks2
|
Public constructors |
|
---|---|
GuidedStepFragment() |
Public methods |
|
---|---|
static int |
add(FragmentManager fragmentManager, GuidedStepFragment fragment, int id) 将指定的GuidedStepFragment添加到片段堆栈,替换堆栈中的所有GuidedStepFragments,并配置片段到片段的自定义转场。 |
static int |
add(FragmentManager fragmentManager, GuidedStepFragment fragment) 将指定的GuidedStepFragment添加到片段堆栈,替换堆栈中的所有GuidedStepFragments,并配置片段到片段的自定义转场。 |
static int |
addAsRoot(Activity activity, GuidedStepFragment fragment, int id) 将指定的GuidedStepFragment添加为Activity的内容; 没有添加后台条目,因此当按下BACK键时,活动将被解除。 |
void |
collapseSubActions() 折叠子动作列表。 |
void |
expandSubActions(GuidedAction action) 展开给定动作的子动作列表。 |
GuidedAction |
findActionById(long id) 通过Id查找GuidedAction。 |
int |
findActionPositionById(long id) 按Id查找GuidedAction位置。 |
GuidedAction |
findButtonActionById(long id) 按Id查找按钮GuidedAction。 |
int |
findButtonActionPositionById(long id) 按Id查找按钮中的GuidedAction位置。 |
void |
finishGuidedStepFragments() 在其他内容之上关闭GuidedStepFragments或完成活动(如果GuidedStepFragments是在单独的活动中启动的)。 |
View |
getActionItemView(int position) 返回与此片段的动作列表中指定位置处的动作相对应的视图。 |
List<GuidedAction> |
getActions() 返回用户在此片段中可能采用的GuidedActions的列表。 |
View |
getButtonActionItemView(int position) 返回与此片段的动作列表中指定位置处的按钮动作对应的视图。 |
List<GuidedAction> |
getButtonActions() 返回用户在此片段中可能采用的按钮GuidedActions的列表。 |
static GuidedStepFragment |
getCurrentGuidedStepFragment(FragmentManager fm) 返回片段事务堆栈上的当前GuidedStepFragment。 |
GuidanceStylist |
getGuidanceStylist() 返回显示用户指导信息的GuidanceStylist。 |
GuidedActionsStylist |
getGuidedActionsStylist() 返回显示用户可以采取的操作的GuidedActionsStylist。 |
GuidedActionsStylist |
getGuidedButtonActionsStylist() 返回显示用户可能采取的按钮操作的GuidedActionsStylist。 |
int |
getSelectedActionPosition() 如果当前选择的GuidedAction返回位置。 |
int |
getSelectedButtonActionPosition() 如果当前选定的按钮GuidedAction返回位置。 |
int |
getUiStyle() 从片段参数中读取UI样式。 |
boolean |
isFocusOutEndAllowed() 如果允许焦点超出GuidedStepFragment的结束边缘,则返回true,否则返回false。 |
boolean |
isFocusOutStartAllowed() 如果允许焦点超出GuidedStepFragment的起始边缘,则返回true,否则返回false。 |
boolean |
isSubActionsExpanded() |
void |
notifyActionChanged(int position) 通知某个操作已更改并更新其UI。 |
void |
notifyButtonActionChanged(int position) 通知按钮操作已更改并更新其UI。 |
void |
onCreate(Bundle savedInstanceState) 被调用来做一个片段的初始创建。 |
void |
onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) 填写用户可用的一组操作。 |
GuidedActionsStylist |
onCreateActionsStylist() 创建用于设置指导操作面板风格的演示者。 |
View |
onCreateBackgroundView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 由onCreateView调用来膨胀背景视图。 |
void |
onCreateButtonActions(List<GuidedAction> actions, Bundle savedInstanceState) 填写用户可用的右侧所示的一组操作。 |
GuidedActionsStylist |
onCreateButtonActionsStylist() 创建用于仅为按钮设置双面动作面板的演示者。 |
GuidanceStylist.Guidance |
onCreateGuidance(Bundle savedInstanceState) 返回向用户提供指导所需的信息。 |
GuidanceStylist |
onCreateGuidanceStylist() 创建用于设置指导面板风格的演示者。 |
View |
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 调用以使片段实例化其用户界面视图。 |
void |
onDestroyView() 当以前由 |
void |
onGuidedActionClicked(GuidedAction action) 用户执行操作时调用的回调函数。 |
void |
onGuidedActionEditCanceled(GuidedAction action) 当某个操作已被取消编辑时,例如用户通过BACK键关闭IME窗口时调用的回调函数。 |
void |
onGuidedActionEdited(GuidedAction action) 此方法已弃用。 覆盖 |
long |
onGuidedActionEditedAndProceed(GuidedAction action) 在编辑操作时调用回调,例如,当用户在IME窗口中单击确认按钮时。 |
void |
onGuidedActionFocused(GuidedAction action) 用户重点关注动作(作为当前选择)时调用的回调。 |
int |
onProvideTheme() 返回用于样式化片段的主题。 |
void |
onResume() 当片段对用户可见且正在积极运行时调用。 |
void |
onSaveInstanceState(Bundle outState) 打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。 |
boolean |
onSubGuidedActionClicked(GuidedAction action) 当用户采取子动作中的动作时调用回调。 |
void |
popBackStackToGuidedStepFragment(Class guidedStepFragmentClass, int flags) 方便的方法弹出到给定类的片段。 |
void |
setActions(List<GuidedAction> actions) 设置用户在这个片段中可以采用的GuidedActions的列表。 |
void |
setButtonActions(List<GuidedAction> actions) 设置用户可以在此片段中采用的按钮GuidedActions的列表。 |
void |
setSelectedActionPosition(int position) 将动作列表滚动到所指示的位置,选择该动作的视图。 |
void |
setSelectedButtonActionPosition(int position) 将动作列表滚动到指定位置,选择该按钮动作的视图。 |
void |
setUiStyle(int style) 将UI样式设置为片段参数。 |
Protected methods |
|
---|---|
void |
onAddSharedElementTransition(FragmentTransaction ft, GuidedStepFragment disappearing) 当这个片段被添加到FragmentTransaction中时 |
void |
onProvideFragmentTransitions() 由构造函数调用以提供片段转换。 |
Inherited methods |
|
---|---|
From class android.app.Fragment
|
|
From class java.lang.Object
|
|
From interface android.content.ComponentCallbacks2
|
|
From interface android.view.View.OnCreateContextMenuListener
|
|
From interface android.content.ComponentCallbacks
|
用于动作权重的主题属性。 默认是lb_guidedactions_width_weight
。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
当有两个面板时用于动作权重的主题属性。 默认是lb_guidedactions_width_weight_two_panels
。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
GuidedActions背景的主题属性。 默认是lb_guidedactions_background
。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
GuidedActions的黑暗版本背景的主题属性。 默认是lb_guidedactions_background_dark
。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
GuidedActions阴影标高的主题属性。 默认是lb_guidedactions_elevation
。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
GuidedStepFragment使用的背景可绘制的主题属性。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
可以是“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”形式的颜色值。
GuidedStepFragment中使用的整体主题的主题属性。 Leanback主题为此设置了默认值,但不是从leanback主题派生的自定义主题可以将其设置为@style/Theme.Leanback.GuidedStep
以指定默认的GuidedStepFragment样式。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
String EXTRA_UI_STYLE
用户界面样式的片段参数名称。 参数值以片段状态持久化并用于选择片段转换。 该值最初为UI_STYLE_ENTRANCE
,可能会在三个辅助函数之一中进行更改:
addAsRoot(Activity, GuidedStepFragment, int)
sets to UI_STYLE_ACTIVITY_ROOT
add(FragmentManager, GuidedStepFragment)
or add(FragmentManager, GuidedStepFragment, int)
sets it to UI_STYLE_REPLACE
if there is already a GuidedStepFragment on stack.finishGuidedStepFragments()
changes current GuidedStepFragment to UI_STYLE_ENTRANCE
for the non activity case. This is a special case that changes the transition settings after fragment has been created, in order to force current GuidedStepFragment run a return transition of UI_STYLE_ENTRANCE
参数值可以是:
常数值:“uiStyle”
int UI_STYLE_ACTIVITY_ROOT
参数EXTRA_UI_STYLE
一个可能值。 这是我们在单独的活动中显示第一个GuidedStepFragment的情况。 这种风格的默认行为:
UI_STYLE_ENTRANCE
. Note: Changing exit transition by UI style is not working because fragment transition asks for exit transition before UI style is restored in Fragment.onCreate().常量值:2(0x00000002)
int UI_STYLE_ENTRANCE
参数EXTRA_UI_STYLE
默认值。 缺省值在GuidedStepFragment构造函数中分配。 这是我们在其他内容上显示GuidedStepFragment的情况。 这种风格的默认行为:
finishGuidedStepFragments()
also changes the top GuidedStepFragment to UI_STYLE_ENTRANCE in order to run the return transition (reverse of enter transition) of UI_STYLE_ENTRANCE.
常数值:1(0x00000001)
int UI_STYLE_REPLACE
这是我们使用GuidedStepFragment替换另一个现有的GuidedStepFragment的情况,当前进到下一步时。 这种风格的默认行为是:
UI_STYLE_ENTRANCE
. 常量值:0(0x00000000)
GuidedStepFragment ()
int add (FragmentManager fragmentManager, GuidedStepFragment fragment, int id)
将指定的GuidedStepFragment添加到片段堆栈,替换堆栈中的所有GuidedStepFragments,并配置片段到片段的自定义转场。 添加一个后台条目,所以当按下BACK键时,这个片段将被解散。
UI_STYLE_REPLACE
and onAddSharedElementTransition(FragmentTransaction, GuidedStepFragment)
will be called to perform shared element transition between GuidedStepFragments. UI_STYLE_ENTRANCE
注意:当前使用此方法添加的片段必须以编程方式创建,而不是通过XML创建。
Parameters | |
---|---|
fragmentManager |
FragmentManager : The FragmentManager to be used in the transaction. |
fragment |
GuidedStepFragment : The GuidedStepFragment to be inserted into the fragment stack. |
id |
int : The id of container to add GuidedStepFragment, can be android.R.id.content. |
Returns | |
---|---|
int |
The ID returned by the call FragmentTransaction.commit. |
int add (FragmentManager fragmentManager, GuidedStepFragment fragment)
将指定的GuidedStepFragment添加到片段堆栈,替换堆栈中的所有GuidedStepFragments,并配置片段到片段的自定义转场。 添加一个后台条目,所以当按下BACK键时,这个片段将被解散。
UI_STYLE_REPLACE
UI_STYLE_ENTRANCE
注意:当前使用此方法添加的片段必须以编程方式创建,而不是通过XML创建。
Parameters | |
---|---|
fragmentManager |
FragmentManager : The FragmentManager to be used in the transaction. |
fragment |
GuidedStepFragment : The GuidedStepFragment to be inserted into the fragment stack. |
Returns | |
---|---|
int |
The ID returned by the call FragmentTransaction.commit. |
int addAsRoot (Activity activity, GuidedStepFragment fragment, int id)
将指定的GuidedStepFragment添加为Activity的内容; 没有添加后台条目,因此当按下BACK键时,活动将被解除。 当savedInstanceState为空时,通常在Activity.onCreate()中调用该方法。 当savedInstanceState不为空时,活动正在恢复,不要调用addAsRoot()复制FragmentManager恢复的Fragment。 UI_STYLE_ACTIVITY_ROOT
被分配。 注意:当前使用此方法添加的片段必须以编程方式创建,而不是通过XML创建。
Parameters | |
---|---|
activity |
Activity : The Activity to be used to insert GuidedstepFragment. |
fragment |
GuidedStepFragment : The GuidedStepFragment to be inserted into the fragment stack. |
id |
int : The id of container to add GuidedStepFragment, can be android.R.id.content. |
Returns | |
---|---|
int |
The ID returned by the call FragmentTransaction.commit, or -1 there is already GuidedStepFragment. |
void expandSubActions (GuidedAction action)
展开给定动作的子动作列表。
Parameters | |
---|---|
action |
GuidedAction : GuidedAction to expand. |
也可以看看:
GuidedAction findActionById (long id)
通过Id查找GuidedAction。
Parameters | |
---|---|
id |
long : Id of the action to search. |
Returns | |
---|---|
GuidedAction |
GuidedAction object or null if not found. |
int findActionPositionById (long id)
按Id查找GuidedAction位置。
Parameters | |
---|---|
id |
long : Id of the action to search. |
Returns | |
---|---|
int |
position of GuidedAction object in array or -1 if not found. |
GuidedAction findButtonActionById (long id)
按Id查找按钮GuidedAction。
Parameters | |
---|---|
id |
long : Id of the button action to search. |
Returns | |
---|---|
GuidedAction |
GuidedAction object or null if not found. |
int findButtonActionPositionById (long id)
按Id查找按钮中的GuidedAction位置。
Parameters | |
---|---|
id |
long : Id of the button action to search. |
Returns | |
---|---|
int |
position of GuidedAction object in array or -1 if not found. |
void finishGuidedStepFragments ()
在其他内容之上关闭GuidedStepFragments或完成活动(如果GuidedStepFragments是在单独的活动中启动的)。 UI_STYLE_ENTRANCE
所有堆栈条目,包括UI_STYLE_ENTRANCE
; 如果未找到UI_STYLE_ENTRANCE
,则完成活动。 请注意,此方法必须与add(FragmentManager, GuidedStepFragment, int)
配对,后者设置堆栈条目名称以查找我们需要弹出哪个片段。
View getActionItemView (int position)
返回与此片段的动作列表中指定位置处的动作相对应的视图。
Parameters | |
---|---|
position |
int : The integer position of the action of interest. |
Returns | |
---|---|
View |
The View corresponding to the action at the indicated position, or null if that action is not currently onscreen. |
List<GuidedAction> getActions ()
返回用户在此片段中可能采用的GuidedActions的列表。
Returns | |
---|---|
List<GuidedAction> |
The list of GuidedActions for this fragment. |
View getButtonActionItemView (int position)
返回与此片段的动作列表中指定位置处的按钮动作对应的视图。
Parameters | |
---|---|
position |
int : The integer position of the button action of interest. |
Returns | |
---|---|
View |
The View corresponding to the button action at the indicated position, or null if that action is not currently onscreen. |
List<GuidedAction> getButtonActions ()
返回用户在此片段中可能采用的按钮GuidedActions的列表。
Returns | |
---|---|
List<GuidedAction> |
The list of button GuidedActions for this fragment. |
GuidedStepFragment getCurrentGuidedStepFragment (FragmentManager fm)
返回片段事务堆栈上的当前GuidedStepFragment。
Parameters | |
---|---|
fm |
FragmentManager
|
Returns | |
---|---|
GuidedStepFragment |
The current GuidedStepFragment, if any, on the fragment transaction stack. |
GuidanceStylist getGuidanceStylist ()
返回显示用户指导信息的GuidanceStylist。
Returns | |
---|---|
GuidanceStylist |
The GuidanceStylist for this fragment. |
GuidedActionsStylist getGuidedActionsStylist ()
返回显示用户可以采取的操作的GuidedActionsStylist。
Returns | |
---|---|
GuidedActionsStylist |
The GuidedActionsStylist for this fragment. |
GuidedActionsStylist getGuidedButtonActionsStylist ()
返回显示用户可能采取的按钮操作的GuidedActionsStylist。
Returns | |
---|---|
GuidedActionsStylist |
The GuidedActionsStylist for this fragment. |
int getSelectedActionPosition ()
如果当前选择的GuidedAction返回位置。
Returns | |
---|---|
int |
position The integer position of the currently selected action. |
int getSelectedButtonActionPosition ()
如果当前选定的按钮GuidedAction返回位置。
Returns | |
---|---|
int |
position The integer position of the currently selected button action. |
int getUiStyle ()
从片段参数中读取UI样式。 当片段第一次初始化时,默认值是UI_STYLE_ENTRANCE
。 用户界面风格用于选择不同的片段过渡动画,并确定这是否是在堆栈上的第一个GuidedStepFragment。
Returns | |
---|---|
int |
UI_STYLE_ACTIVITY_ROOT UI_STYLE_REPLACE or UI_STYLE_ENTRANCE . |
boolean isFocusOutEndAllowed ()
如果允许焦点超出GuidedStepFragment的结束边缘,则返回true,否则返回false。 默认值为false,原因是禁用FocusFinder在GuidedStepFragment的内容下查找可聚焦视图。 子类可能会覆盖。
Returns | |
---|---|
boolean |
True if allows focus out of end edge of GuidedStepFragment. |
boolean isFocusOutStartAllowed ()
如果允许焦点超出GuidedStepFragment的起始边缘,则返回true,否则返回false。 默认值为false,原因是禁用FocusFinder在GuidedStepFragment的内容下查找可聚焦视图。 子类可能会覆盖。
Returns | |
---|---|
boolean |
True if allows focus out of start edge of GuidedStepFragment. |
boolean isSubActionsExpanded ()
Returns | |
---|---|
boolean |
True if the sub actions list is expanded, false otherwise. |
void notifyActionChanged (int position)
通知某个操作已更改并更新其UI。
Parameters | |
---|---|
position |
int : Position of the GuidedAction in array. |
void notifyButtonActionChanged (int position)
通知按钮操作已更改并更新其UI。
Parameters | |
---|---|
position |
int : Position of the button GuidedAction in array. |
void onCreate (Bundle savedInstanceState)
被调用来做一个片段的初始创建。 这是在onAttach(Activity)
之后和onAttach(Activity)
之前onCreateView(LayoutInflater, ViewGroup, Bundle)
,但如果片段实例在Activity重新创建期间保留(请参阅setRetainInstance(boolean)
),则不调用该实例。
请注意,这可以在片段的活动仍处于创建过程中时调用。 因此,您不能依赖于此时正在初始化活动的内容视图层次结构。 如果您想在创建活动本身后进行工作,请参阅onActivityCreated(Bundle)
。
如果您的应用targetSdkVersion
为23或更低,则在onCreate
返回后,将恢复从savedInstanceState恢复的子片段。 当瞄准N或更高版本并且在N或更新的平台版本上运行时,它们将被Fragment.onCreate
恢复。
Parameters | |
---|---|
savedInstanceState |
Bundle : If the fragment is being re-created from a previous saved state, this is the state. |
void onCreateActions (List<GuidedAction> actions, Bundle savedInstanceState)
填写用户可用的一组操作。 这个钩子在onCreate(Bundle)
期间被调用。 默认情况下,动作列表为空; 子类应该重写。
Parameters | |
---|---|
actions |
List : A non-null, empty list ready to be populated. |
savedInstanceState |
Bundle : The saved instance state from onCreate. |
GuidedActionsStylist onCreateActionsStylist ()
创建用于设置指导操作面板风格的演示者。 默认实现返回一个基本的GuidedActionsStylist。
Returns | |
---|---|
GuidedActionsStylist |
The GuidedActionsStylist used in this fragment. |
View onCreateBackgroundView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
由onCreateView调用来膨胀背景视图。 默认实现从lb_guidedstep_background
加载视图,该视图保存对guidedStepBackground的引用。
Parameters | |
---|---|
inflater |
LayoutInflater : LayoutInflater to load background view. |
container |
ViewGroup : Parent view of background view. |
Returns | |
---|---|
View |
Created background view or null if no background. |
void onCreateButtonActions (List<GuidedAction> actions, Bundle savedInstanceState)
填写用户可用的右侧所示的一组操作。 这个钩子在onCreate(Bundle)
期间被调用。 默认情况下,动作列表为空; 子类可能会覆盖。
Parameters | |
---|---|
actions |
List : A non-null, empty list ready to be populated. |
savedInstanceState |
Bundle : The saved instance state from onCreate. |
GuidedActionsStylist onCreateButtonActionsStylist ()
创建用于仅为按钮设置双面动作面板的演示者。 默认实现返回一个基本的GuidedActionsStylist。
Returns | |
---|---|
GuidedActionsStylist |
The GuidedActionsStylist used in this fragment. |
GuidanceStylist.Guidance onCreateGuidance (Bundle savedInstanceState)
返回向用户提供指导所需的信息。 这个钩子在onCreateView(LayoutInflater, ViewGroup, Bundle)
期间被调用。 可能会被改写返回的自定义子类GuidanceStylist.Guidance
用在子类GuidanceStylist
。 默认返回带空字段的Guidance对象; 子类应该重写。
Parameters | |
---|---|
savedInstanceState |
Bundle : The saved instance state from onCreateView. |
Returns | |
---|---|
GuidanceStylist.Guidance |
The Guidance object representing the information used to guide the user. |
GuidanceStylist onCreateGuidanceStylist ()
创建用于设置指导面板风格的演示者。 默认实现返回一个基本的GuidanceStylist。
Returns | |
---|---|
GuidanceStylist |
The GuidanceStylist used in this fragment. |
View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
调用以使片段实例化其用户界面视图。 这是可选的,非图形片段可以返回null(这是默认实现)。 这将在onCreate(Bundle)
和onActivityCreated(Bundle)
之间onActivityCreated(Bundle)
。
如果你从这里返回视图,那么当视图被释放时,你将在以后被调用 onDestroyView()
。
Parameters | |
---|---|
inflater |
LayoutInflater : The LayoutInflater object that can be used to inflate any views in the fragment, |
container |
ViewGroup : If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view. |
savedInstanceState |
Bundle : If non-null, this fragment is being re-constructed from a previous saved state as given here. |
Returns | |
---|---|
View |
Return the View for the fragment's UI, or null. |
void onDestroyView ()
当先前由onCreateView(LayoutInflater, ViewGroup, Bundle)
创建的视图已从片段中分离时调用。 下次需要显示片段时,将创建一个新视图。 这是在onStop()
之后和onDestroy()
之前onDestroy()
。 无论它被称为onCreateView(LayoutInflater, ViewGroup, Bundle)
返回一个非空的观点。 内部它在视图的状态被保存之后但在它的父对象被移除之前被调用。
void onGuidedActionClicked (GuidedAction action)
用户执行操作时调用的回调函数。 为了对用户的决定采取行动,子类应该被覆盖。
Parameters | |
---|---|
action |
GuidedAction : The chosen action. |
void onGuidedActionEditCanceled (GuidedAction action)
当某个操作已被取消编辑时,例如用户通过BACK键关闭IME窗口时调用的回调函数。 默认实现调用已弃用的方法onGuidedActionEdited(GuidedAction)
。
Parameters | |
---|---|
action |
GuidedAction : The action which has been canceled editing. |
void onGuidedActionEdited (GuidedAction action)
此方法已弃用。
覆盖onGuidedActionEditedAndProceed(GuidedAction)
和/或onGuidedActionEditCanceled(GuidedAction)
。
当一个动作的标题或描述已被编辑时调用回调,这发生在用户单击IME中的确认按钮或用户通过BACK键关闭IME窗口时发生。
Parameters | |
---|---|
action |
GuidedAction
|
long onGuidedActionEditedAndProceed (GuidedAction action)
在编辑操作时调用回调,例如,当用户在IME窗口中单击确认按钮时。 默认实现调用已弃用的方法onGuidedActionEdited(GuidedAction)
并返回ACTION_ID_NEXT
。
Parameters | |
---|---|
action |
GuidedAction : The action that has been edited. |
Returns | |
---|---|
long |
ID of the action will be focused or ACTION_ID_NEXT , ACTION_ID_CURRENT . |
void onGuidedActionFocused (GuidedAction action)
用户重点关注动作(作为当前选择)时调用的回调。
Parameters | |
---|---|
action |
GuidedAction
|
int onProvideTheme ()
返回用于样式化片段的主题。 默认返回-1,表示应该使用主机Activity的主题。
Returns | |
---|---|
int |
The theme resource ID of the theme to use in this fragment, or -1 to use the host Activity's theme. |
void onSaveInstanceState (Bundle outState)
打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。 如果片段的新实例后需要创建,您的包放在这里的数据将提供给包可onCreate(Bundle)
, onCreateView(LayoutInflater, ViewGroup, Bundle)
,并onActivityCreated(Bundle)
。
这相当于Activity.onSaveInstanceState(Bundle)
,这里的大多数讨论也适用于此。 但请注意: 此方法可能在onDestroy()
之前onDestroy()
。 有很多情况下,碎片可能大部分被拆除(例如,当放置在背堆栈上而没有UI显示时),但是它的状态不会被保存直到其拥有的活动实际上需要保存其状态。
Parameters | |
---|---|
outState |
Bundle : Bundle in which to place your saved state. |
boolean onSubGuidedActionClicked (GuidedAction action)
当用户采取子动作中的动作时调用回调。 为了对用户的决定采取行动,子类应该被覆盖。 默认返回值为true以关闭子动作列表。
Parameters | |
---|---|
action |
GuidedAction : The chosen action. |
Returns | |
---|---|
boolean |
true to collapse the sub actions list, false to keep it expanded. |
void popBackStackToGuidedStepFragment (Class guidedStepFragmentClass, int flags)
方便的方法弹出到给定类的片段。
Parameters | |
---|---|
guidedStepFragmentClass |
Class : Name of the Class of GuidedStepFragment to pop to. |
flags |
int : Either 0 or POP_BACK_STACK_INCLUSIVE . |
void setActions (List<GuidedAction> actions)
设置用户在这个片段中可以采用的GuidedActions的列表。
Parameters | |
---|---|
actions |
List : The list of GuidedActions for this fragment. |
void setButtonActions (List<GuidedAction> actions)
设置用户可以在此片段中采用的按钮GuidedActions的列表。
Parameters | |
---|---|
actions |
List : The list of button GuidedActions for this fragment. |
void setSelectedActionPosition (int position)
将动作列表滚动到所指示的位置,选择该动作的视图。
Parameters | |
---|---|
position |
int : The integer position of the action of interest. |
void setSelectedButtonActionPosition (int position)
将动作列表滚动到指定位置,选择该按钮动作的视图。
Parameters | |
---|---|
position |
int : The integer position of the button action of interest. |
void setUiStyle (int style)
将UI样式设置为片段参数。 当片段第一次初始化时,默认值是UI_STYLE_ENTRANCE
。 用户界面风格用于选择不同的片段过渡动画,并确定这是否是在堆栈上的第一个GuidedStepFragment。 在大多数情况下,应用程序不直接调用此方法,应用程序调用帮助函数add(FragmentManager, GuidedStepFragment, int)
。 但是,如果应用程序创建Fragment事务并自行控制后台堆栈,则需要调用setUiStyle()来选择要使用的片段转换。
Parameters | |
---|---|
style |
int : UI_STYLE_ACTIVITY_ROOT UI_STYLE_REPLACE or UI_STYLE_ENTRANCE . |
void onAddSharedElementTransition (FragmentTransaction ft, GuidedStepFragment disappearing)
当这个片段被添加到FragmentTransaction中时UI_STYLE_REPLACE
(也就是当GuidedStepFragment替换现有的GuidedStepFragment时)。 默认实现在动作背景视图之间建立连接,以将动作背景界限从消失的GuidedStepFragment变为此GuidedStepFragment。 默认实现严重依赖于GuidedActionsStylist
的布局,当修改默认布局GuidedActionsStylist
时,应用可能会覆盖此方法。
Parameters | |
---|---|
ft |
FragmentTransaction : The FragmentTransaction to add shared element. |
disappearing |
GuidedStepFragment : The disappearing fragment. |
void onProvideFragmentTransitions ()
由构造函数调用以提供片段转换。 默认实现基于getUiStyle()
分配转换:
UI_STYLE_REPLACE
Slide from/to end(right) for enter transition, slide from/to start(left) for exit transition, shared element enter transition is set to ChangeBounds. UI_STYLE_ENTRANCE
Enter transition is set to slide from both sides, exit transition is same as UI_STYLE_REPLACE
, no shared element enter transition. UI_STYLE_ACTIVITY_ROOT
Enter transition is set to null and app should rely on activity transition, exit transition is same as UI_STYLE_REPLACE
, no shared element enter transition. 默认实现严重依赖于 GuidedActionsStylist
和 GuidanceStylist
布局,当修改默认布局 GuidedActionsStylist
或 GuidanceStylist
时,应用可能会覆盖此方法。
提示:因为片段视图在片段转换过程中被删除,所以通常app不能同时使用两个可见性转换。 解决方法是创建控制多个动画制作者的自己的可见性转换(例如,在一个Transition类中滑动和淡入淡出动画)。