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