Panel menjelaskan properti area yang ditempatinya dan berfungsi sebagai penampung aplikasi. Anda menggunakan konfigurasi XML untuk menentukan panel, yang memberikan pendekatan yang fleksibel dan bebas 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
bahwa panel yang dikelola oleh UI yang Dapat Diskalakan dimuat sesuai yang diinginkan 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>
, yang menjelaskan properti penampung aplikasi. UI Sistem
memuat definisi panel ini dan melacak panel hingga konfigurasi lain
dimuat.
Misalnya, karena perubahan konfigurasi akibat rotasi atau permintaan sistem
eksplisit. <TaskPanel>
berfungsi sebagai 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, ia dapat menentukan aktivitas persisten yang harus selalu ditampilkan di panel, atau tata letak yang akan di-inflate. |
defaultVariant |
Opsional | Menentukan ID varian yang harus diadopsi panel pada awalnya saat dimuat. Jika tidak ditentukan, sistem dapat menggunakan varian pertama yang ditentukan sebagai default. |
displayId |
Opsional | Menentukan ID layar tempat panel akan muncul. |
defaultLayer |
Opsional | Dapat menentukan urutan Z default untuk varian panel jika varian tidak menentukan lapisan secara eksplisit. |
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 menerapkan
antarmuka |
Elemen turunan XML
Tag <TaskPanel>
dapat menyertakan atribut 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 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 penarikan, saat status
panel bergantung pada input berkelanjutan seperti jumlah penarikan. |
<Transitions> |
Tag bertingkat berisi kumpulan definisi Setiap |
Kode contoh
<Panel 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>
</Panel>