Panel menjelaskan properti area yang ditempatinya dan bertindak sebagai penampung aplikasi. Anda menggunakan konfigurasi XML untuk menentukan panel, yang menyediakan pendekatan fleksibel dan tanpa kode untuk menyesuaikan UI. Untuk mengelola instance dan status, sistem melacak panel yang ditentukan.
Daftar panel
UI Sistem memuat definisi panelnya dari resource array bernama window_states. Array resource ini mengarah ke file XML, tempat konfigurasi panel individual ditentukan. Pendekatan terpusat ini berarti panel yang dikelola oleh UI yang Dapat Diskalakan dimuat sesuai keinginan dan siap digunakan oleh sistem.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="window_states">
<item>@xml/app_panel</item>
<item>@xml/back_panel</item>
...
</array>
</resources>
Definisi panel
Setiap panel dalam framework UI yang Dapat Diskalakan ditentukan dengan tag XML bernama
<TaskPanel> atau <DecorPanel>. <TaskPanel> menjelaskan properti penampung aplikasi
, sedangkan <DecorPanel> menjelaskan properti penampung tampilan.
UI Sistem memuat definisi panel ini dan melacak panel hingga konfigurasi lain dimuat. Misalnya, dengan perubahan konfigurasi karena rotasi atau permintaan sistem eksplisit. The <TaskPanel> and <DecorPanel> serve as
komponen dasar untuk membangun pengalaman yang disesuaikan melalui
komponen UI yang dapat dikonfigurasi.
Atribut XML
Tag <TaskPanel> dapat berisi atribut yang dapat Anda gunakan untuk menentukan status
dan transisi.
| Atribut | Status | Deskripsi |
|---|---|---|
id |
Wajib | Menentukan ID unik untuk panel. Atribut ini digunakan untuk
mengambil panel dari PanelPool dan mengelola statusnya
dalam sistem. |
role |
Wajib | Menentukan tujuan atau fungsi panel dalam sistem. Nilai dapat merujuk ke resource string, array string nama komponen, atau ID tata letak. Misalnya, nilai ini dapat menentukan aktivitas persisten yang harus selalu ditampilkan di panel, atau tata letak yang akan di-inflate. |
defaultVariant |
Opsional | Menentukan ID varian yang awalnya harus diadopsi panel saat dimuat. Jika tidak ditentukan, sistem dapat menggunakan varian pertama yang ditentukan sebagai default. |
displayId |
Opsional | Menentukan ID tampilan tempat panel akan muncul. |
defaultLayer |
Opsional | Dapat menentukan urutan-Z default untuk varian panel jika varian tidak secara eksplisit menentukan lapisan. |
controller |
Opsional, dapat berubah |
Mereferensikan resource (biasanya ID XML) yang menentukan pengontrol khusus panel yang memungkinkan penyimpanan dan penerusan nilai konfigurasi ke pengontrol panel kustom. Pengontrol ini harus mengimplementasikan
|
Elemen turunan XML
Tag <TaskPanel> dan <DecorPanel> dapat menyertakan elemen turunan ini untuk
menentukan karakteristik dan perilaku default.
| Atribut | Deskripsi |
|---|---|
<Variant> |
Tag bertingkat menjelaskan konfigurasi visual tertentu untuk panel pada waktu tertentu. Panel dapat memiliki beberapa varian, yang masing-masing diidentifikasi oleh a ID unik. Setiap varian menentukan properti seperti batas, visibilitas, lapisan, alfa, radius sudut, dan inset untuk konfigurasi tertentu tersebut. Varian juga dapat mewarisi properti dari varian induk. |
<KeyFrameVariant> |
Ekstensi <Variant> memungkinkan interpolasi properti visual antara varian yang berbeda berdasarkan nilai fraksi berkelanjutan (0 hingga 1) dan digunakan untuk transisi yang lancar dan dinamis, seperti selama operasi tarik, saat status panel bergantung pada input berkelanjutan seperti jumlah tarik. |
<Transitions> |
Tag bertingkat berisi kumpulan Setiap |
Tag <TaskPanel> juga dapat menyertakan elemen turunan khusus ini untuk menentukan
perilaku khusus tugas.
| Atribut | Deskripsi |
|---|---|
<Restart> |
Tag bertingkat untuk menjelaskan kebijakan mulai ulang yang akan diterapkan saat a
TaskPanel kosong. Tag ini mendukung atribut
policy, yang dapat ditetapkan ke DEFAULT atau
LAST, dan maxRetry, yang menentukan berapa kali
upaya memulai ulang akan dilakukan sebelum waktu tunggu habis. |
<TaskBehavior> |
Tag bertingkat untuk menjelaskan perilaku peluncuran tugas di panel ini. Tag
ini mendukung atribut newTaskLaunchPolicy, yang
mengonfigurasi perilaku peluncuran tugas baru dari TaskPanel ini. Nilai konfigurasi yang valid untuk kebijakan ini adalah DEFAULT,
REMAIN_IN_SOURCE, atau REPARENT_TO_SOURCE. |
Kode contoh
<TaskPanel id="@+id/panelId"
role="@array/roleValue"
defaultVariant="@id/closed"
displayId="0" >
<Variant id="@+id/base">
<Bounds left="0" top="0" width="100%" height="100%"/>
</Variant>
<Variant id="@+id/opened" parent="@id/base">
<Visibility isVisible="true"/>
</Variant>
<Variant id="@+id/closed" parent="@id/base">
<Visibility isVisible="false"/>
</Variant>
<Transitions>
<Transition fromVariant="@id/closed"
toVariant="@id/opened"
onEvent="open_event"/>
<Event id="_System_TaskOpenEvent" panelId="@id/panelId" />
</Transition>
</Transitions>
</TaskPanel>