Menentukan posisi tampilan pada waktu tertentu selama urutan gerak. Atribut ini digunakan untuk menyesuaikan jalur default gerak.
Misalnya, jika objek dimulai di sudut kiri atas dan berakhir di
sudut kanan bawah, urutan gerakan default akan memindahkan objek secara diagonal ke bawah
layar. Dengan menambahkan satu atau beberapa elemen <KeyPosition>
, Anda dapat mengubah
jalur jalur.
Sintaksis
<KeyPosition motion:motionTarget="@id/targetPath" motion:framePosition="percentage" motion:keyPositionType="type" motion:percentX="xOffset" motion:percentY="yOffset" />
Atribut
motion:motionTarget
- Melihat gerakan siapa yang dikontrol oleh
<KeyPosition>
ini. motion:framePosition
- Bilangan bulat dari 1 hingga 99 yang menentukan kapan dalam urutan gerakan, tampilan mencapai
titik yang ditentukan oleh
<KeyPosition>
ini. Misalnya, jikaframePosition
adalah 25, tampilan mencapai titik yang ditentukan seperempat dari total gerakan. motion:percentX
,motion:percentY
- Tentukan posisi yang dijangkau tampilan. Atribut
keyPositionType
menentukan cara nilai ini ditafsirkan. motion:keyPositionType
- Menentukan cara nilai
percentX
danpercentY
diinterpretasikan. Setelan yang memungkinkan adalah sebagai berikut: parentRelative
percentX
danpercentY
ditentukan secara relatif terhadap tampilan induk. X adalah sumbu horizontal, mulai dari 0 untuk sisi kiri hingga 1 untuk sisi kanan. Y adalah sumbu vertikal, dengan 0 sebagai bagian atas dan 1 menjadi bawah.Misalnya, jika Anda ingin tampilan target mencapai titik di tengah sisi kanan tampilan induk, tetapkan
percentX
ke 1 danpercentY
ke 0,5.deltaRelative
percentX
danpercentY
ditentukan secara relatif terhadap jarak yang dilalui tampilan selama seluruh urutan gerakan. X adalah sumbu horizontal dan Y adalah sumbu vertikal. Dalam kedua kasus tersebut, 0 adalah posisi awal tampilan dalam sumbu tersebut, dan 1 adalah posisi akhir.Misalnya tampilan target bergerak 100 dp ke atas dan 100 dp ke kanan, tetapi Anda ingin tampilan bergerak turun 40 dp untuk kuartal pertama gerakan, lalu melengkung kembali ke atas. Tetapkan
framePosition
ke 25,keyPositionType
kedeltaRelative
, danpercentY
ke -0,4.pathRelative
Sumbu X adalah arah gerak tampilan target selama jalur, dengan 0 sebagai posisi awal dan 1 sebagai posisi akhir. Sumbu Y tegak lurus dengan sumbu X, dengan nilai positif di sebelah kiri jalur dan nilai negatif di sebelah kanan. Jadi, posisi awal tampilan adalah
(0,0)
dan posisi akhir adalah(1,0)
. MenetapkanpercentY
bukan nol akan menyebabkan tampilan melengkung ke satu arah atau lainnya.Misalkan Anda ingin tampilan mengambil setengah dari urutan gerakan untuk menempuh 10% dari total jarak, lalu mempercepat hingga 90% lainnya. Tetapkan
framePosition
ke 50,keyPositionType
kepathRelative
, danpercentX
ke 0,1.percentY
tetap 0.