运动场景文件的根元素。<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 毫秒。