<KeyFrameSet>

在動作序列期間,指定檢視畫面的位置和屬性。根據預設,動畫會從初始狀態開始,並在結束狀態結束。您可以使用 <KeyFrameSet> 建立更複雜的動作。

<KeyFrameSet> 包含 <KeyPosition><KeyAttribute> 節點。這些節點會在動作的特定點指定目標檢視畫面的屬性或位置。MotionLayout 會從起點到每個中間點,再到最終目的地,流暢地為檢視畫面製作動畫。

假設動畫序列的初始狀態在檢視畫面的左下角有一個不透明的球,而最終狀態則會使球在右上角呈現透明狀態。根據預設,MotionLayout 會以平滑的對角線移動球,並逐漸變得透明,直到球到達目的地並消失為止。您可以使用 <KeyFrameSet> 變更這項行為。舉例來說,您可以讓球以垂直方向移動到左上角,同時保持完全不透明,然後再以水平方向移動到右上角,同時淡出。方法是建立 <KeyFrameSet>,並在其中加入 <KeyPosition><KeyAttribute><KeyPosition> 會指定球的中間位置,而 <KeyAttribute> 會指定球在動作中點時保持不透明。

語法

<KeyFrameSet>
    [ <KeyPosition/>... ]
    [ <KeyAttribute/>...]
</KeyFrameSet>

包含於

<Transition>

包含

<KeyPosition>
指定在動作序列中特定時刻的檢視畫面位置。
<KeyAttribute>
指定動作序列中特定時刻的檢視畫面屬性。