<PosisiKunci>

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, jika framePosition 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 dan percentY diinterpretasikan. Setelan yang memungkinkan adalah sebagai berikut:
  • parentRelative
  • percentX dan percentY 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 dan percentY ke 0,5.

  • deltaRelative
  • percentX dan percentY 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 ke deltaRelative, dan percentY 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). Menetapkan percentY 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 ke pathRelative, dan percentX ke 0,1. percentY tetap 0.

Ada Dalam