指定檢視畫面在動作序列中特定時間點的位置。這個屬性可用來調整動作的預設路徑。
舉例來說,如果物件從左上角開始,從左下角結束,則預設動作序列會將物件沿著畫面對角移動。您可以新增一或多個 <KeyPosition>
元素,改變路徑。
語法
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
屬性
motion:motionTarget
- 查看由這個
<KeyPosition>
控制的人物動作。 motion:framePosition
- 從 1 到 99 的整數,用於指定檢視畫面何時達到此
<KeyPosition>
指定的點。舉例來說,如果framePosition
為 25,則檢視畫面會在整個動作中達到指定點的四分之一。 motion:percentX
、motion:percentY
- 指定檢視畫面到達的位置。
keyPositionType
屬性會指定這些值的解譯方式。 motion:keyPositionType
- 指定如何解譯
percentX
和percentY
值。可能的設定如下: parentRelative
percentX
和percentY
是按照上層檢視畫面指定。X 為水平軸,範圍從左側 0 到右側的 1。「Y」是垂直軸,0 為頂部,1 代表底部。舉例來說,如要讓目標檢視畫面前往上層檢視畫面右側中間的某個點,請將
percentX
設為 1,並將percentY
設為 0.5。deltaRelative
percentX
和percentY
是根據整個動作序列中檢視畫面移動的距離而指定。「X」是水平軸,「Y」是垂直軸。在這兩種情況下,0 是檢視畫面在軸中的起始位置,1 是最終位置。假設目標檢視畫面向右移動 100 dp,並向右移動 100 dp,但又想將檢視畫面的四分之一向下移動 40 dp,再向弧形往上移動。將
framePosition
設為 25,keyPositionType
設為deltaRelative
,並將percentY
設為 -0.4。pathRelative
X 軸是目標檢視畫面在路徑中的移動方向,0 為起始位置,1 為最終位置。Y 軸與 X 軸垂直,正值位於路徑左側,負值位於右側。因此,檢視畫面的初始位置為
(0,0)
,最終位置為(1,0)
。如果設定非零的percentY
,檢視畫面會迴轉至某方向或其他方向。假設您希望檢視畫面佔據動作序列的一半,以涵蓋總距離的 10%,然後加快速度來涵蓋另外 90%。將
framePosition
設為 50,keyPositionType
設為pathRelative
,並將percentX
設為 0.1。percentY
仍為 0。