Mengonfigurasi transisi

Gunakan transisi untuk menentukan perubahan antar-panel. Anda dapat menentukan transisi untuk menjelaskan cara dan waktu melakukan perubahan antara dua varian panel. Anda dapat menentukan daftar transisi untuk setiap panel.

Gunakan tag XML <Transitions> sebagai penampung untuk satu atau beberapa <Transition> definisi dalam konfigurasi satu <TaskPanel> atau <DecorPanel>. Anda dapat menggunakan tag ini untuk menentukan kumpulan aturan animasi yang mengatur kapan dan bagaimana panel harus mengubah status visual dari satu varian yang berbeda ke varian lainnya.

Atribut XML

Tag <Transitions> dapat menentukan nilai default untuk elemen <Transition> turunan ini:

Atribut Status Deskripsi
<defaultDuration> Opsional

Menentukan durasi default dalam milidetik yang akan diterapkan ke semua elemen

<Transition> turunan yang tidak secara eksplisit menetapkan atribut durasi.

Konstanta DEFAULT_DURATION sistem, biasanya 300 milidetik, digunakan saat atribut ini tidak ditentukan.

defaultInterpolator Opsional

Mereferensikan ID resource XML Android Interpolator. Misalnya, @android:anim/accelerate_decelerate_interpolator. Interpolator digunakan sebagai default untuk semua elemen turunan yang tidak secara eksplisit menetapkan atribut interpolator.<Transition>

Jika tidak ada interpolator default yang ditentukan, sistem biasanya akan menggunakan AccelerateDecelerateInterpolator secara default.

Elemen turunan XML

Elemen turunan <Transitions> adalah <Transition>, elemen inti yang digunakan untuk menentukan jalur animasi tertentu antara varian PanelState. Beberapa <Transition> elemen dapat disarangkan dalam satu <Transitions> blok.

Kode contoh

Dalam contoh ini, fromVariant bersifat opsional. Jika tidak ditentukan, varian saat ini akan digunakan. Jika fromVariant ditentukan, transisi hanya akan digunakan jika semua parameter cocok. Parameter ditentukan dalam Peristiwa dan fromVariant.

<Transitions defaultDuration="400"
         defaultInterpolator="@android:anim/linear_interpolator">
  <Transition fromVariant="closed_app"
              toVariant="opened_app">
    <Event id="app_opened" panel="application_panel" />
  </Transition>
</Transitions>

Transisi

Transisi menjelaskan cara menganimasikan perubahan status visual antara dua varian panel. Transisi menguraikan jalur dari varian ke varian. Untuk melakukannya, transisi menentukan detail seperti animasi yang akan diterapkan dan peristiwa yang diperlukan untuk memicu animasi.

Untuk panel, transisi dapat menentukan animasi untuk properti seperti batas, visibilitas, dan alfa. Jika animator kustom tidak ditentukan, animator default akan digunakan.

Atribut XML

Tag <Transition> menggunakan beberapa atribut untuk menentukan karakteristik animasi dan kondisi saat animasi akan terjadi.

Elemen turunan XML

<Event> menentukan properti peristiwa yang dapat memicu transisi.

ID unik panel yang terkait dengan peristiwa ini.
Atribut Status Deskripsi
<id> Wajib ID unik peristiwa untuk mengaktifkan pemicu.
<panelId> Opsional ID unik panel yang terkait dengan peristiwa.
componentName Opsional Nama komponen yang terkait dengan peristiwa ini.
packageName Opsional Nama paket yang terkait dengan peristiwa.

Kode contoh

<Transitions defaultDuration="400"
        defaultInterpolator="@android:anim/accelerate_interpolator">
  <!-- A transition from 'closed_app' to 'opened_app' variant, triggered by 'open_app_event' -->
  <Transition fromVariant="closed_app"
              toVariant="opened_app">
    <Event id="app_opened" panel="application_panel" />
  <Transition>

  <!-- A transition from 'opened_app' to 'closed_app' variant, using a custom animator -->
  <Transition fromVariant="opened_app"
              toVariant="closed_app"
              animator="@animator/close_app">
    <Event id="_System_PanelEmptyEvent"
           panelId="application_panel" />
  <Transition>
</Transitions>