<KeyFrameSet>

為動態序列中的檢視畫面指定位置和屬性。根據預設,動作會從初始狀態繼續執行至結束狀態。使用 <KeyFrameSet> 即可建立更複雜的動作。

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

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

語法

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

包含於

<Transition>

包含

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