public final class Scene
extends Object
java.lang.Object | |
↳ | android.transition.Scene |
场景表示应用场景时View层次结构中各种属性值的集合。 场景可以配置为在应用时自动运行转场,这将动态改变场景变化过程中发生的各种属性变化。
Public constructors |
|
---|---|
Scene(ViewGroup sceneRoot) 构造一个场景时不包含有关应用此场景时值将如何变化的信息。 |
|
Scene(ViewGroup sceneRoot, View layout) 构造一个场景,当它输入时,将从sceneRoot容器中移除所有子元素,并将该布局对象添加为该容器的新子元素。 |
|
Scene(ViewGroup sceneRoot, ViewGroup layout) 此构造函数在API级别21中已弃用。请使用 |
Public methods |
|
---|---|
void |
enter() 输入这个场景,这需要改变这个场景指定的所有值。 |
void |
exit() 如果它是场景 |
static Scene |
getSceneForLayout(ViewGroup sceneRoot, int layoutId, Context context) 返回与给定的 |
ViewGroup |
getSceneRoot() 获取场景的根,这是由此场景引起的更改所影响的视图层次结构的根部,并且在输入此场景时将对其进行动画处理。 |
void |
setEnterAction(Runnable action) 没有使用布局资源或层次结构定义的场景,或在这些层次结构更改后需要执行附加步骤的场景,应该设置一个输入操作以及可能的退出操作。 |
void |
setExitAction(Runnable action) 没有使用布局资源或层次结构定义的场景,或在这些层次结构更改后需要执行附加步骤的场景,应该设置一个输入操作以及可能的退出操作。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
Scene (ViewGroup sceneRoot)
构造一个场景时不包含有关应用此场景时值将如何变化的信息。 通过设置setEnterAction(Runnable)
和可能的setExitAction(Runnable)
来创建场景时,可能会使用此构造函数来动态配置。
Parameters | |
---|---|
sceneRoot |
ViewGroup : The root of the hierarchy in which scene changes and transitions will take place. |
Scene (ViewGroup sceneRoot, View layout)
构造一个场景,当它输入时,将从sceneRoot容器中移除所有子元素,并将该布局对象添加为该容器的新子元素。
Parameters | |
---|---|
sceneRoot |
ViewGroup : The root of the hierarchy in which scene changes and transitions will take place. |
layout |
View : The view hierarchy of this scene, added as a child of sceneRoot when this scene is entered. |
Scene (ViewGroup sceneRoot, ViewGroup layout)
此构造函数在API级别21中已弃用。
使用Scene(ViewGroup, View)
。
Parameters | |
---|---|
sceneRoot |
ViewGroup
|
layout |
ViewGroup
|
void enter ()
输入这个场景,这需要改变这个场景指定的所有值。 这些值可以是与布局视图组或布局资源文件相关联的值,现在将其添加到场景根目录中,或者可以通过setEnterAction(Runnable)
输入操作}或其组合来更改值。 场景输入时不会执行转换。 要获取场景更改中的转换行为,请改为使用TransitionManager
中的TransitionManager
方法。
void exit ()
如果是场景scene root
上的当前场景,则退出此场景。 当前场景设置为entering
一个场景。 如果有场景,则退出场景运行exit action
。
Scene getSceneForLayout (ViewGroup sceneRoot, int layoutId, Context context)
返回与给定的layoutId
参数关联的资源文件所描述的场景。 如果已经为给定的sceneRoot
创建了这样的场景,则将返回相同的场景。 这种基于layoutId场景的缓存功能可以在代码中创建的场景和TransitionManager
XML资源文件引用的场景之间共享公共场景。
Parameters | |
---|---|
sceneRoot |
ViewGroup : The root of the hierarchy in which scene changes and transitions will take place. |
layoutId |
int : The id of a standard layout resource file. |
context |
Context : The context used in the process of inflating the layout resource. |
Returns | |
---|---|
Scene |
The scene for the given root and layout id |
ViewGroup getSceneRoot ()
获取场景的根,这是由此场景引起的更改所影响的视图层次结构的根部,并且在输入此场景时将对其进行动画处理。
Returns | |
---|---|
ViewGroup |
The root of the view hierarchy affected by this scene. |
void setEnterAction (Runnable action)
没有使用布局资源或层次结构定义的场景,或在这些层次结构更改后需要执行附加步骤的场景,应该设置一个输入操作以及可能的退出操作。 输入操作将导致Scene回调到应用程序代码中,以便在转换捕获预更改值并应用了任何其他场景更改(例如将视图添加到视图中)后执行应用程序所需的任何操作层次结构。 在这个方法被调用之后,将会播放过渡。
Parameters | |
---|---|
action |
Runnable : The runnable whose run() method will be called when this scene is entered |
void setExitAction (Runnable action)
没有使用布局资源或层次结构定义的场景,或在这些层次结构更改后需要执行附加步骤的场景,应该设置一个输入操作以及可能的退出操作。 退出操作将导致Scene回调到应用程序代码中,以便在适用的转换捕获预更改值之后,但在应用任何其他场景更改(如新布局(如果有))之前执行应用程序需要执行的任何操作添加到视图层次结构中。 调用此方法后,将输入下一个场景,如果设置了输入操作,则会调用setEnterAction(Runnable)
。
Parameters | |
---|---|
action |
Runnable
|