<MotionScene>

运动场景文件的根元素。<MotionScene> 包含一个或多个 <Transition> 元素,每个元素都定义了运动序列的开始和结束状态以及两者之间的过渡。

语法

<MotionScene xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    ...
</MotionScene>

必须包含

<Transition>
指定需要执行的运动序列。如果 <MotionScene> 包含多个 <Transition> 元素,MotionLayout 会根据用户互动情况选择最合适的 <Transition>。例如,一个 <MotionScene> 可能有四个 <Transition> 子项,每个子项都有一个 <OnSwipe>,以便用户沿不同方向滑动。当用户在屏幕上滑动时,MotionLayout 会使用相应的 <Transition> 沿该方向的滑动操作。

可以包含的元素

<ConstraintSet>
指定一个或多个 <Transition> 节点的开始或结束状态。不允许 <MotionLayout> 包含 <ConstraintSet> 子级,因为 <Transition> 可以指向 XML 布局,而不是指向约束条件集。

属性

defaultDuration
所有转换的默认时长(以毫秒为单位)。默认时长用于未指定自己的时长的运动序列。例如,如果您设置了 defaultDuration="300",并且未明确指定自己的持续时间,所有运动序列的时长均默认为 300 毫秒。