Arabalarda gelişmiş, dinamik ve çok panelli kullanıcı deneyimleri oluşturmak için ölçeklenebilir kullanıcı arayüzünü kullanın. Ölçeklenebilir kullanıcı arayüzü:
Esnek bir pencere sistemi sağlar.
Kullanıcı arayüzü uygulamaları için Compatibility Test Suite (CTS) tarafından sunulan mühendislik risklerini, maliyetlerini ve karmaşıklıklarını en aza indirir.
Ölçeklenebilir kullanıcı arayüzü, dinamik pencere düzenlemelerine ihtiyaç duyan çok çeşitli modern araç içi bilgi-eğlence (IVI) tasarımlarını destekler.
Android 17, gelişmiş pencereleme için aşağıdaki özellikleri sunar:
- Önemli bildirim panellerini uygulama
- Sistem çubuklarını özelleştirme
- WindowManager değişmezleriyle test uyumluluğunu en üst düzeye çıkarma
- Kurulum sihirbazını entegre etme
Örnek deneyimler
Ölçeklenebilir kullanıcı arayüzü, sınırsız sayıda pencere yapılandırmasına olanak tanır. Ölçeklenebilir kullanıcı arayüzünü kullanmak için oluşturulan birkaç örnek senaryoyu aşağıda bulabilirsiniz:
Kayan uygulamaların yer aldığı harita arka planı
Üstte kayan diğer uygulamaların bulunduğu bir harita arka planı yapılandırması.
Uygulama arka planı
Kayar paneller içeren bir uygulama arka planı yapılandırması.
Diğer uygulamaların altında sabitlenen uygulama
Diğer uygulamaların üzerinde başlatıldığı, widget kapsayıcısı gibi sabitlenmiş bir uygulama.
Koşullu kayan panel
Yalnızca belirli koşullar karşılandığında (ör. medya oynatılırken veya bir uyarı tetiklendiğinde) görünen koşullu kayan panel.
Sabitlenen uygulama sürücüye yakın olsun
Sürücüye daha yakın konumlandırılmış sabitlenmiş bir uygulama.
Bölünmüş ekran düzeni
İki uygulamayı yan yana gösteren bölünmüş ekran düzeni.
Etkileşimli bölünmüş ekran
Dinamik yeniden boyutlandırmaya olanak tanıyan etkileşimli bölünmüş ekran düzeni.
Büyük ekranlar için çoklu bağlantı düzeni
Büyük ekranlar için tasarlanmış çoklu bağlantı noktası düzeni.
Ana ekrandaki uygulama bandı
Uygulama rulosu içeren bir ana ekran düzeni.
Avantajlar ve uygunluk
Ölçeklenebilir kullanıcı arayüzünün avantajları:
Daha düşük test riski: Çerçeve önceden sertifikalandırılmıştır ve CTS ile uyumludur. Bu sayede, program döngüsünün sonlarında test başarısızlığı yaşanması gibi temel riskler ortadan kalkar. Ölçeklenebilir kullanıcı arayüzü, mühendislik çalışmalarında aylarca sürebilecek zaman tasarrufu sağlayabilir ve uyumluluğu hızlandırabilir.
Daha fazla tasarım esnekliği: Mevcut çok sayıda karmaşık otomotiv pencereleme modelini yeniden oluşturma konusunda kanıtlanmış yetenek. Ölçeklenebilir kullanıcı arayüzü, iddialı ve oldukça farklı tasarımları destekler.
Daha az uygulama karmaşıklığı: Üst düzey, yapılandırmaya dayalı bir XML modeline soyutlama, özel pencereleme mantığı için giriş engelini azaltır.
Daha iyi performans: Ölçeklenebilir kullanıcı arayüzü, standart Android ile tamamen entegre edilmiş, yüksek performanslı bir pencereleme temelinde çalışır. Geçişler sorunsuz bir şekilde gerçekleşir ve doğrudan optimizasyona olanak tanır.
Temel yapı taşları
Ölçeklenebilir kullanıcı arayüzü, OEM'ye özel kod ihtiyacını en aza indirir, güncellenebilirliği kolaylaştırır, tuzakları ortadan kaldırarak ve sertifika sorunlarını azaltarak lansman risklerini azaltır.
XML tabanlı yaklaşım, Android Automotive OS'te (AAOS) karmaşık pencere sistemlerini yönetirken karşılaşılan yaygın sorunları (ör. hassas konumlandırma, Z sırası çakışmaları ve uygulama odağı) ele alır.
Ölçeklenebilir kullanıcı arayüzü bu temel yapı taşlarını sağlar.
Panel
Panel, ekrandaki temel dikdörtgen kapsayıcıdır. Her panel, bağımsız yönetim için özel bir kök görevle eşlenir. Bir panelde uygulama görevleri (TaskPanel) veya görünüm tabanlı içerikler (ör. widget'lar) (DecorPanel) barındırılabilir.
Daha fazla bilgi için Paneli yapılandırma başlıklı makaleyi inceleyin.
Varyant
Varyant, bir panel için belirli bir görsel durumu tanımlar ve bounds (konum ve boyut), visibility, layer (Z sırası) ve corner yarıçapı gibi özellikleri içerir. Tek bir panelde opened, closed veya minimized gibi varyantlar olabilir. Daha fazla bilgi edinmek için Görsel durum tasarlamak için varyant kullanma başlıklı makaleyi inceleyin.
Geçiş
Geçiş, bir panelin mevcut durumundan fromVariant yeni bir duruma toVariant nasıl geçtiğini tanımlar. Bir Event, geçişi tetikler. Geçiş, durum değişikliği sırasında panelin kullandığı animasyonu tanımlar. Bir panel, mevcut durumundan toVariant durumuna geçmelidir. Senkronizasyon için temel Pencere Yöneticisi, tüm geçişleri canlandırır ve koordine eder.
- Etkinlik: Kullanıcı arayüzü değişikliğini başlatmak için kullanılan bir tetikleyici. Bir OEM veya sistem, tetikleyiciyi önceden tanımlayabilir. Örneğin,
_System_OnHomeEvent,_System_TaskOpenEventveya özel bir gezinme düğmesine basma.
Örneğin, ölçeklenebilir kullanıcı arayüzü, geçişleri tetiklemek için etkinlikleri kullanır. Bu geçişler, kullanıcı arayüzündeki dinamik değişiklikleri göstermek için bir paneli bir varyanttan diğerine animasyonla geçirir. Ölçeklenebilir kullanıcı arayüzü, içerikleri gerektiği şekilde ayarlamak için bu değişiklikleri diğer sistem uygulamalarına bildirir. XML'de kullanıcı arayüzü ilişkilerini tanımlayarak şunları yapabilirsiniz:
Karmaşık kullanıcı arayüzü davranışlarını belirtin: Karmaşık kullanıcı arayüzü etkileşimlerini tanımlayın.
Pencere sistemlerini düzenleme: Pencere konumlandırmasını ve katmanlamayı kontrol edin.
Görsel temalar uygulayın: Tutarlı marka öğeleri ve estetik unsurlar kullanın.
Kod karmaşıklığını azaltın: Kapsamlı özel kod geliştirme ihtiyacını en aza indirin.
Daha fazla bilgi için Geçiş yapılandırma başlıklı makaleyi inceleyin.
Sistem Arayüzü düğmeleri
CarSystemBarButtons, niyetleri tetiklemenin yanı sıra event, selectedEvent ve unselectedEvent özellikleri kullanılarak dokunulduğunda ölçeklenebilir bir kullanıcı arayüzü etkinliğini de tetikleyebilir.
event, düğmeye dokunulduğunda tetiklenecek etkinliği açıklar. Bir etkinlik üzerinde daha ayrıntılı kontrol gerekiyorsa düğme seçildiğinde veya seçimi kaldırıldığında tetiklenecek etkinliği belirtmek için sırasıyla selectedEvent ve unselectedEvent özelliklerini kullanın.
Sistem Arayüzü ne zaman uygulanır?
Bu bölümde, ölçeklenebilir kullanıcı arayüzünün en iyi kullanım alanları açıklanmaktadır.
- Kalıcı çok panelli düzenler oluşturma
- Dinamik bir ev sahnesi uygulama
- Bağlama duyarlı yer paylaşımları uygulama
- Karmaşık panel etkileşimleri tasarlama
Kalıcı çok panelli düzenler oluşturma
Ekranın farklı alanlarının belirli işlevlere kalıcı olarak ayrıldığı çok bölgeli bir deneyim oluşturun. Örneğin, özel medya kontrolleri, iklim şeridi veya tam ekran harita.
Birincil uygulamalar (ör. navigasyon) için TaskPanels, TaskPanels arasına yerleştirilmesi gereken görünümler biçimindeki kullanıcı arayüzü öğeleri için DecorPanels simgesini kullanın.
Dinamik bir ev sahnesi uygulama
Aynı anda görünür ve etkileşimli birden fazla uygulama panelinden oluşan bir Ana Sayfa sahnesi uygulayın. Örneğin, harita, medya oynatıcı ve uygulama tablosu.
İlgili tüm panelleri opened veya default ana sayfa varyantlarına geçirmek için _System_HomeEvent yapılandırın.
İçeriğe dayalı katmanlar uygulama
Uygulama görevleriyle koordineli olarak animasyon oluşturulabilen bağlamsal widget'lar, özel markalama ve sürükleme çubukları gibi uygulama dışı kullanıcı arayüzü öğelerini yerleştirin.
Tamamen dekoratif olan veya widget barındıran tüm öğeler için DecorPanels kullanın. Bir widget, tam işlevli ve başlatılabilir bir uygulamaya ev sahipliği yapıyorsa Panel > TaskPanel simgesi en uygunudur. Katman oluşturma işleminin TaskPanel katman oluşturma işlemiyle senkronize edilmesi gerektiğinde görünüm tabanlı kullanıcı arayüzü öğeleri için DecorPanels kullanın.
Karmaşık panel etkileşimleri tasarlama
Uygulama panelini dinamik olarak yeniden boyutlandırma veya gösterge paneli görünümlerini ana ekran içeriğine göre ayarlama gibi gelişmiş kullanıcı odaklı işlemler tasarlayın.
Belirli, sistem standardı olmayan Transitions tetiklemek için özel Events tanımlayın.