Most visited

Recently visited

Added in API level 19

TransitionManager

public class TransitionManager
extends Object

java.lang.Object
   ↳ android.transition.TransitionManager


该课程管理Scene更改时Scene一组Scene 要使用管理器,请添加场景以及调用setTransition(Scene, Transition)setTransition(Scene, Scene, Transition)过渡对象。 不需要为场景更改设置特定的转场; 默认情况下,场景更改将使用AutoTransition在大多数情况下执行合理的操作。 只有当应用程序在这些情况下需要不同的转换行为时,才需要为特定场景更改指定其他转换。

可以在res/transition目录内的XML资源文件中声明TransitionManagers。 TransitionManager资源由transitionManager标签名称组成,其中包含一个或多个transition标签,每个标签描述该标签中该过渡与从/到场景信息的关系。 例如,以下是一个声明多个场景转换的资源文件:

<transitionManager xmlns:android="http://schemas.android.com/apk/res/android">
    <transition android:fromScene="@layout/transition_scene1"
                android:toScene="@layout/transition_scene2"
                android:transition="@transition/changebounds"/>
    <transition android:fromScene="@layout/transition_scene2"
                android:toScene="@layout/transition_scene1"
                android:transition="@transition/changebounds"/>
    <transition android:toScene="@layout/transition_scene3"
                android:transition="@transition/changebounds_fadein_together"/>
    <transition android:fromScene="@layout/transition_scene3"
                android:toScene="@layout/transition_scene1"
                android:transition="@transition/changebounds_fadeout_sequential"/>
    <transition android:fromScene="@layout/transition_scene3"
                android:toScene="@layout/transition_scene2"
                android:transition="@transition/changebounds_fadeout_sequential"/>
</transitionManager>

对于每个fromScenetoScene属性,都有一个对标准XML布局文件的引用。 这相当于通过调用getSceneForLayout(ViewGroup, int, Context)从代码布局创建场景。 对于transition属性,在res/transition目录中存在对资源文件的引用,该文件描述了该转换。

Information on XML resource descriptions for transitions can be found for Transition, TransitionSet, TransitionTarget, Fade, and TransitionManager.

Summary

Public constructors

TransitionManager()

Public methods

static void beginDelayedTransition(ViewGroup sceneRoot, Transition transition)

便捷方法在调用此方法和下一个呈现框架之间根据给定场景根目录中的所有更改定义的新场景动画。

static void beginDelayedTransition(ViewGroup sceneRoot)

使用默认过渡对使用此方法和下一个呈现框架之间的所有更改定义的新场景进行动画处理的便捷方法。

static void endTransitions(ViewGroup sceneRoot)

结束指定场景根目录上的所有挂起和正在进行的转换。

static void go(Scene scene, Transition transition)

使用给定的转换简单地改变给定场景的便捷方法。

static void go(Scene scene)

使用TransitionManager的默认转换简单地切换到给定场景的便捷方法。

void setTransition(Scene scene, Transition transition)

设置输入给定场景时发生的特定转场。

void setTransition(Scene fromScene, Scene toScene, Transition transition)

设置退出/输入给定场景对时发生的特定转场。

void transitionTo(Scene scene)

切换到给定的场景,对此特定场景更改使用适当的过渡(如TransitionManager指定的那样,如果没有这种过渡存在,则使用默认过渡)。

Inherited methods

From class java.lang.Object

Public constructors

TransitionManager

Added in API level 19
TransitionManager ()

Public methods

beginDelayedTransition

Added in API level 19
void beginDelayedTransition (ViewGroup sceneRoot, 
                Transition transition)

便捷方法在调用此方法和下一个呈现框架之间根据给定场景根目录中的所有更改定义的新场景动画。 调用此方法将导致TransitionManager捕获场景根中的当前值,然后发布请求以在下一帧上运行转换。 那时,场景根目录中的新值将被捕获,并且变化将被动画化。 没有必要创建一个场景; 在转换开始时调用此方法和下一帧之间会发生变化。

在下一帧之前多次调用此方法(例如,如果不相关的代码也想进行动态更改并在同一场景根上运行转场),则只有第一次调用将触发捕捉值并退出当前场景。 随后在同一帧中调用具有相同场景根的方法将被忽略。

传递参数 null将导致TransitionManager使用其默认转换。

Parameters
sceneRoot ViewGroup: The root of the View hierarchy to run the transition on.
transition Transition: The transition to use for this change. A value of null causes the TransitionManager to use the default transition.

beginDelayedTransition

Added in API level 19
void beginDelayedTransition (ViewGroup sceneRoot)

使用默认过渡对使用此方法和下一个呈现框架之间的所有更改定义的新场景进行动画处理的便捷方法。 等效于调用beginDelayedTransition(ViewGroup, Transition)具有的价值nulltransition参数。

Parameters
sceneRoot ViewGroup: The root of the View hierarchy to run the transition on.

endTransitions

Added in API level 23
void endTransitions (ViewGroup sceneRoot)

结束指定场景根目录上的所有挂起和正在进行的转换。

Parameters
sceneRoot ViewGroup: The root of the View hierarchy to end transitions on.

go

Added in API level 19
void go (Scene scene, 
                Transition transition)

使用给定的转换简单地改变给定场景的便捷方法。

在传递 null过渡参数将导致现场没有任何过渡运行变化,相当于调用 exit()现场根目前的现场,随后 enter()由指定的现场 scene参数。

Parameters
scene Scene: The Scene to change to
transition Transition: The transition to use for this scene change. A value of null causes the scene change to happen with no transition.

go

Added in API level 19
void go (Scene scene)

使用TransitionManager的默认转换简单地切换到给定场景的便捷方法。

Parameters
scene Scene: The Scene to change to

setTransition

Added in API level 19
void setTransition (Scene scene, 
                Transition transition)

设置输入给定场景时发生的特定转场。

Parameters
scene Scene: The scene which, when applied, will cause the given transition to run.
transition Transition: The transition that will play when the given scene is entered. A value of null will result in the default behavior of using the default transition instead.

setTransition

Added in API level 19
void setTransition (Scene fromScene, 
                Scene toScene, 
                Transition transition)

设置退出/输入给定场景对时发生的特定转场。

Parameters
fromScene Scene: The scene being exited when the given transition will be run
toScene Scene: The scene being entered when the given transition will be run
transition Transition: The transition that will play when the given scene is entered. A value of null will result in the default behavior of using the default transition instead.

transitionTo

Added in API level 19
void transitionTo (Scene scene)

切换到给定的场景,对此特定场景更改使用适当的过渡(如TransitionManager指定的那样,如果没有这种过渡存在,则使用默认过渡)。

Parameters
scene Scene: The Scene to change to

Hooray!