Ringkasan

Gunakan UI yang Dapat Diskalakan untuk membangun pengalaman pengguna yang canggih, dinamis, dan multi-panel di mobil. UI yang dapat diskalakan:

  • Menyediakan sistem windowing yang fleksibel.

  • Meminimalkan risiko, biaya, dan kompleksitas teknik yang ditimbulkan oleh Compatibility Test Suite (CTS) untuk penerapan antarmuka pengguna.

UI yang skalabel mendukung berbagai desain Infotainment Dalam Kendaraan (IVI) modern yang memerlukan pengaturan jendela dinamis.

Manfaat dan kepatuhan

Manfaat UI yang dapat diskalakan meliputi:

  • Risiko pengujian yang lebih rendah: Framework telah disertifikasi sebelumnya dan mematuhi CTS, yang menghilangkan risiko utama kegagalan pengujian di akhir siklus program. UI yang dapat diskalakan dapat menghemat upaya engineering selama berbulan-bulan dan mempercepat kepatuhan.

  • Fleksibilitas desain yang lebih besar: Kemampuan terbukti untuk membuat ulang berbagai model windowing otomotif yang kompleks. UI yang skalabel mendukung desain yang ambisius dan sangat berbeda.

  • Kompleksitas penerapan yang lebih rendah: Abstraksi ke dalam model XML tingkat tinggi yang didorong konfigurasi menurunkan hambatan untuk logika penyesuaian jendela.

  • Performa yang lebih baik: UI yang dapat diskalakan dibangun di atas fondasi windowing berperforma tinggi, yang terintegrasi sepenuhnya dengan Android standar. Transisi lancar dan dapat dioptimalkan.

Blok pembangun inti

UI yang dapat diskalakan meminimalkan kebutuhan akan kode khusus OEM, mempermudah kemampuan update, dan mengurangi risiko peluncuran dengan menghilangkan potensi masalah dan mengurangi masalah sertifikasi.

Pendekatan berbasis XML ini mengatasi tantangan umum saat mengelola sistem windowing yang kompleks di AAOS, seperti yang terkait dengan penentuan posisi yang akurat, konflik Z-order, dan fokus aplikasi.

UI yang dapat diskalakan menyediakan elemen penyusun inti ini.

Panel

Panel adalah penampung persegi panjang dasar di layar. Setiap panel dipetakan ke tugas root khusus untuk pengelolaan independen. Panel dapat menghosting tugas aplikasi (TaskPanel) atau konten berbasis tampilan, seperti widget (DecorPanel). Untuk mempelajari lebih lanjut, lihat Mengonfigurasi panel.

Varian

Varian menentukan status visual tertentu untuk panel dan menyertakan properti seperti bounds (posisi dan ukuran), visibility, layer (urutan Z), dan radius corner. Satu panel dapat memiliki varian, seperti opened, closed, atau minimized. Untuk mempelajari lebih lanjut, lihat Menggunakan varian untuk mendesain status visual.

Transisi

Transisi menentukan cara panel berpindah dari status saat ini fromVariant ke status baru, toVariant. Transisi dapat dipicu oleh Event dan dapat menentukan animasi yang dialami panel selama perubahan status. Panel harus berpindah dari status saat ini ke toVariant. Untuk sinkronisasi, semua transisi dianimasikan dan dikoordinasikan oleh Pengelola Jendela inti.

  • Peristiwa: Pemicu untuk memulai perubahan UI. OEM atau sistem dapat telah menentukan pemicu. Misalnya, _System_OnHomeEvent, _System_TaskOpenEvent, atau penekanan tombol navigasi kustom.

Misalnya, UI yang Dapat Diskalakan menggunakan peristiwa untuk memicu transisi. Transisi ini menganimasikan panel dari satu varian ke varian lain untuk menampilkan perubahan dinamis di UI. Perubahan ini dikomunikasikan ke aplikasi sistem lain untuk menyesuaikan konten sesuai kebutuhan. Dengan menentukan hubungan UI dalam XML, Anda dapat:

  • Menentukan perilaku UI yang kompleks: Menentukan interaksi antarmuka pengguna yang rumit.

  • Mengatur sistem jendela: Mengontrol pemosisian dan pelapisan jendela.

  • Terapkan tema visual: Terapkan branding dan estetika yang konsisten.

  • Mengurangi kompleksitas kode: Meminimalkan kebutuhan untuk pengembangan kode kustom yang ekstensif.

Untuk mempelajari lebih lanjut, lihat Mengonfigurasi transisi.

Tombol UI sistem

Selain memicu intent, CarSystemBarButtons dapat memicu peristiwa ScalableUI saat diketuk menggunakan atribut event, selectedEvent, dan unselectedEvent.

event menjelaskan peristiwa yang akan dipicu saat tombol diketuk. Jika kontrol yang lebih terperinci atas suatu peristiwa diperlukan, gunakan atribut selectedEvent dan unselectedEvent untuk menentukan peristiwa yang akan dipicu saat tombol dipilih atau tidak dipilih.

Kapan harus menerapkan UI Sistem

Bagian ini menjelaskan penggunaan optimal UI yang Dapat Diskalakan.

Membuat tata letak multi-panel persisten

Buat pengalaman multi-zona di mana berbagai area layar secara permanen dikhususkan untuk fungsi tertentu. Misalnya, kontrol media khusus, panel iklim, atau peta layar penuh.

Gunakan TaskPanels untuk aplikasi utama (seperti navigasi) dan DecorPanels untuk elemen UI, dalam bentuk tampilan, yang harus ditempatkan di antara TaskPanels.

Menerapkan suasana rumah dinamis

Terapkan adegan Beranda yang terdiri dari beberapa panel aplikasi yang terlihat secara bersamaan dan interaktif. Misalnya, peta, pemutar media, dan petak aplikasi.

Untuk mentransisikan semua panel yang relevan ke varian rumah opened atau default, konfigurasi _System_HomeEvent.

Menerapkan overlay kontekstual

Tempatkan elemen UI non-aplikasi, seperti widget kontekstual, branding kustom, dan panel tarik yang dapat dianimasikan secara terkoordinasi dengan tugas aplikasi.

Gunakan DecorPanels untuk semua elemen yang hanya bersifat dekoratif atau menghosting widget. Jika widget menghosting aplikasi yang berfungsi penuh dan dapat diluncurkan, Panel > TaskPanel adalah yang paling optimal. Gunakan DecorPanels untuk elemen UI berbasis tampilan saat pelapisan harus disinkronkan dengan pelapisan TaskPanel.

Mendesain interaksi panel yang kompleks

Merancang tindakan lanjutan yang didorong pengguna, seperti mengubah ukuran panel aplikasi secara dinamis atau menyesuaikan tampilan panel instrumen berdasarkan konten layar utama.

Tentukan Events kustom untuk memicu Transitions tertentu yang tidak standar sistem.