指定在运动序列过程中视图的位置和属性。默认情况下,运动从初始状态到最终状态进行。通过使用 <KeyFrameSet>
,您可以构建更复杂的运动。
<KeyFrameSet> 包含 <KeyPosition>
或 <KeyAttribute>
节点。这些节点指定目标视图在运动中的特定点的位移或属性。MotionLayout
会平滑地将视图从起点动画到每个中间点,然后到最终目的地。
假设运动序列的初始状态是在视图左下角有一个不透明的球,而最终状态使球在右上角变得透明。默认情况下,MotionLayout
会沿对角线平滑地移动球体,逐渐变透明,直到到达目的地时消失。通过使用 <KeyFrameSet>
,您可以更改此行为。例如,您可以使球体垂直移动到左上角,同时保持完全不透明,然后水平移动到右上角,同时淡出。您可以通过创建 <KeyFrameSet>
并在其中添加 <KeyPosition>
和 <KeyAttribute>
来实现此目的。<KeyPosition>
指定球体的中间位置,而 <KeyAttribute>
指定球体在运动中点保持不透明。
语法
<KeyFrameSet> [ <KeyPosition/>... ] [ <KeyAttribute/>...] </KeyFrameSet>
包含于
包含
<KeyPosition>
- 指定视图在运动序列中特定时刻的位置。
<KeyAttribute>
- 指定视图属性在运动序列中特定时刻的值。