<KeyPosition>

指定檢視畫面在動作序列中特定時間點的位置。這個屬性可用來調整動作的預設路徑。

舉例來說,如果物件從左上角開始,從左下角結束,則預設動作序列會將物件沿著畫面對角移動。您可以新增一或多個 <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:percentXmotion:percentY
指定檢視畫面到達的位置。keyPositionType 屬性會指定這些值的解譯方式。
motion:keyPositionType
指定如何解譯 percentXpercentY 值。可能的設定如下:
  • parentRelative
  • percentXpercentY 是按照上層檢視畫面指定。X 為水平軸,範圍從左側 0 到右側的 1。「Y」是垂直軸,0 為頂部,1 代表底部。

    舉例來說,如要讓目標檢視畫面前往上層檢視畫面右側中間的某個點,請將 percentX 設為 1,並將 percentY 設為 0.5。

  • deltaRelative
  • percentXpercentY 是根據整個動作序列中檢視畫面移動的距離而指定。「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。

包含於