Untuk menerapkan pengalaman pengguna yang konsisten dan berkualitas tinggi, serta untuk mencegah masalah yang menyebabkan kegagalan Compatibility Test Suite (CTS), terapkan prinsip inti WindowManager (WM) yang dijelaskan di sini. Prinsip ini membantu memastikan kepatuhan terhadap pedoman Kualitas aplikasi mobil. Prinsip ini berlaku untuk:
Rilis Android yang menggunakan arsitektur multi-aplikasi, yang dimulai di Android 14 dan dilanjutkan di Android 15 dengan UI yang Dapat Diskalakan.
UI yang Dapat Diskalakan Android dan implementasi kustom Anda sendiri
Dengan menerapkan prinsip-prinsip ini, Anda akan secara proaktif menghindari sebagian besar masalah kepatuhan CTS dan masalah pengujian fungsional.
Terminologi
- invarian
- Kondisi logis yang tetap benar selama eksekusi aplikasi yang mengarah pada integritas struktural. Invarian berfungsi sebagai aturan batas.
- aktivitas khusus
- Juga dikenal sebagai aktivitas UI Otomatis atau aktivitas UI Sistem, aktivitas aplikasi penting ini memiliki area khusus di layar yang selalu terlihat atau terlihat hampir sepanjang waktu, bahkan saat pengguna menekan Beranda,seperti navigasi utama atau aplikasi cluster.
- aktivitas standar
- Aktivitas aplikasi standar apa pun yang tidak penting bagi antarmuka pengguna inti sistem, seperti aplikasi media pihak ketiga yang diluncurkan dari petak aplikasi.
Prinsip WM
Untuk memaksimalkan kepatuhan CTS, terapkan prinsip-prinsip ini dalam penerapan WM Anda.
Menggunakan konfigurasi yang stabil saat peluncuran aktivitas
Luncurkan setiap aktivitas standar baru dengan satu transisi WM yang menetapkan posisi, ukuran, dan kepadatan akhirnya. Anda tidak boleh memicu transisi kedua yang mengubah konfigurasi jendela tugas pokok (seperti ukuran atau kepadatan) tepat setelah transisi pertama, karena hal ini menyebabkan perubahan konfigurasi tepat setelah aktivitas dibuat.
Memindahkan aktivitas standar ke status berhenti
Saat pengguna membuka tugas atau adegan beranda, Anda harus memindahkan semua aktivitas standar yang sedang berjalan ke status berhenti untuk mempertahankan siklus proses aplikasi Android yang dapat diprediksi dan diperlukan oleh pengujian CTS. Untuk mengetahui informasi selengkapnya tentang ekspektasi siklus proses aplikasi di lingkungan otomotif, lihat Mencegah penggunaan saat batasan pengalaman pengguna aktif.
Mencegah konten aktivitas standar tertutup
Jangan menggambar dekorasi atau elemen UI kustom yang menghalangi konten aktivitas standar. Jika Anda menggambar overlay kustom (seperti panel kontrol iklim kustom), Anda harus melaporkan dimensi ke sistem dengan inset SystemOverlay. Untuk Android 15 dan yang lebih tinggi, gunakan DecorPanel di UI yang Dapat Diskalakan. Aplikasi
mengandalkan inset ini untuk menata letak konten dengan aman.
Menyembunyikan overlay pada permintaan mode imersif
Saat aplikasi meminta mode imersif, Anda harus menyembunyikan elemen UI kustom sementara dan menghapus inset SystemOverlay-nya. Hambatan persisten mengganggu ekspektasi piksel aplikasi. Untuk mengetahui detail tentang cara aplikasi meminta
dan menangani mode imersif, lihat
Panel sistem, mode imersif, dan rendering layar penuh.
Menerapkan sudut membulat hanya di tingkat tampilan
Terapkan sudut membulat hanya di tingkat tampilan menggunakan konfigurasi resource yang sesuai di frameworks/base. Jangan menerapkan sudut melengkung arbitrer ke
permukaan aktivitas standar.
Tindakan ini mengganggu pengujian elemen UI. Sebagai tindakan sementara, Anda dapat menentukan radius sudut bulat yang sama untuk tampilan seperti yang Anda terapkan pada permukaan aktivitas standar.
Mempertahankan ukuran aplikasi saat permintaan mode imersif
Saat aplikasi meminta untuk memasuki mode imersif, jangan ubah ukuran jendela aplikasi. Tindakan ini akan memicu perubahan konfigurasi yang mengganggu. Sebagai gantinya, untuk memaksimalkan aplikasi, tawarkan tombol layar penuh yang dikontrol pengguna.