Mengonfigurasi transisi

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

Gunakan tag XML <Transitions> sebagai penampung untuk satu atau beberapa definisi <Transition> dalam konfigurasi satu <TaskPanel> atau <DecorPanel>. Anda dapat menggunakan tag ini untuk menentukan serangkaian 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 turunan

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

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

defaultInterpolator Opsional

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

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 di antara varian PanelState. Beberapa elemen <Transition> dapat disarangkan dalam satu blok <Transitions>.

Kode contoh

Dalam contoh ini, fromVariant bersifat opsional. Jika tidak ditentukan, varian saat ini akan digunakan. Jika fromVariant ditentukan, transisi hanya 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 satu varian ke varian lainnya. 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 yang akan memicunya.

Elemen turunan XML

<Event> menentukan properti peristiwa yang dapat memicu transisi.

ID unik panel yang terkait dengan acara ini.
Atribut Status Deskripsi
<id> Wajib ID unik peristiwa untuk mengaktifkan pemicu.
<panelId> Opsional ID unik panel yang terkait dengan acara.
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>