运动场景文件的根元素。<code translate="no" dir="ltr"><MotionScene></code> 包含一个或多个 <a href="/training/constraint-layout/motionlayout/ref/transition"><code translate="no" dir="ltr"><Transition></code></a> 元素,每个元素都定义运动序列的起始状态和结束状态以及两者之间的转换。
语法
<MotionScene xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> ... </MotionScene>
必须包含
<Transition>
- 指定要执行的运动序列。如果<code translate="no" dir="ltr"><MotionScene></code> 包含多个<code translate="no" dir="ltr"><Transition></code> 元素,则<code translate="no" dir="ltr">MotionLayout</code> 会根据用户的交互选择最合适的<code translate="no" dir="ltr"><Transition></code>。例如,<code translate="no" dir="ltr"><MotionScene></code> 可能有四个<code translate="no" dir="ltr"><Transition></code> 子元素,每个元素都有一个<a href="/training/constraint-layout/motionlayout/ref/onswipe"><code translate="no" dir="ltr"><OnSwipe></code></a> 用于用户在不同方向上的滑动。当用户在屏幕上滑动时,<code translate="no" dir="ltr">MotionLayout</code> 将使用适合该方向滑动的<code translate="no" dir="ltr"><Transition></code>。
可以包含
<ConstraintSet>
- 为一个或多个<code translate="no" dir="ltr"><Transition></code> 节点指定起始状态或结束状态。<code translate="no" dir="ltr"><MotionLayout></code> 不允许有<code translate="no" dir="ltr"><ConstraintSet></code> 子元素,因为<code translate="no" dir="ltr"><Transition></code> 可以指向 XML 布局而不是指向约束集。
属性
defaultDuration
- 所有转换的默认时长(以毫秒为单位)。默认时长用于未指定自身时长的运动序列。例如,如果设置<code translate="no" dir="ltr">defaultDuration="300"</code>,则所有运动序列的默认时长均为 300 毫秒(如果它们没有显式指定自己的时长)。