Di Android 17 dan yang lebih baru, UI Berskala untuk notifikasi heads-up (HUN) memungkinkan Anda menyesuaikan pengelolaan jendela (posisi, scrim latar belakang, animasi) panel HUN menggunakan framework UI Berskala dengan overlay resource runtime (RRO). Fitur ini memungkinkan kontrol atas penampung notifikasi tanpa memengaruhi rendering konten internal.
Penerapan
Penerapan UI Berskala untuk HUN mencakup hal berikut:
- API publik dan sistem: Memperkenalkan class
HunWindowdan<HunPanel>logika penguraian tag XML dalam pengurai UI Berskala. - Penerapan partner:
- Menentukan overlay RRO kustom.
- Untuk membuat file XML (misalnya,
res/xml/hun_panel.xml), gunakan tag root<HunPanel>. - Menentukan elemen
<Variant>untuk mengontrol batas, gravitasi (TOPatauBOTTOM), visibilitas, dan latar belakang (drawable scrim). - Memetakan varian ke peristiwa sistem (misalnya,
_System_Show_Panel) menggunakan<Transitions>.
- Perangkat baru versus perangkat yang diupgrade: Ini adalah perubahan konfigurasi yang dibuat oleh RRO. Untuk mengupgrade perangkat agar menerima image sistem baru, buat RRO yang sesuai untuk menentukan perilaku HUN. Hal ini memungkinkan pengguna menyimpang dari default.
- Mengaktifkan atau menonaktifkan: Untuk mengaktifkan atau menonaktifkan fitur ini, tambahkan atau hapus
@xml/hun_paneldari konfigurasiwindow_states. - Setelan default: Ubah setelan default dengan menerapkan RRO Anda sendiri yang mengganti konfigurasi default sistem.
Persyaratan dan validasi
Gunakan urutan berikut untuk menguji pengaktifan dan penonaktifan overlay:
adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom
Jika Anda mengaktifkan atau menonaktifkan RRO, HUN akan ditampilkan di bagian bawah atau atas.
Validasi manual
- Posisi: Pastikan HUN muncul pada gravitasi (
TOPatauBOTTOM) dan batas yang ditentukan. - Interaksi: Pastikan swipe untuk menutup berfungsi (jika tidak dapat ditutup, pastikan tombol berfungsi).
- Animasi: Pastikan animasi transisi antara status terbuka dan tertutup.