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 Uyumluluk Test Paketi'nin (CTS) sunduğu mühendislik risklerini, maliyetleri ve karmaşıklıkları en aza indirir.
Ölçeklenebilir kullanıcı arayüzü, dinamik pencere düzenlemeleri gerektiren çok çeşitli modern araç içi bilgi-eğlence (IVI) tasarımlarını destekler.
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 hataları oluşmasıyla ilgili temel risk 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 pencere 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 temeli üzerine kurulmuştur. Geçişler sorunsuz ve optimize edilebilir.
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 ve tuzakları ortadan kaldırıp sertifika sorunlarını azaltarak lansman risklerini düşürür.
XML odaklı yaklaşım, AAOS'te karmaşık pencere sistemlerini yönetirken karşılaşılan yaygın sorunları (ör. hassas konumlandırma, Z sırası çakışmaları ve uygulama odağıyla ilgili sorunlar) 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 widget'lar (DecorPanel) gibi görünüme dayalı içerikler yer alabilir.
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. Geçiş, bir Event tarafından tetiklenebilir ve panelin durum değişikliği sırasında geçirdiği animasyonu tanımlayabilir.
Bir panel, mevcut durumundan toVariant durumuna geçmelidir. Senkronizasyon için tüm geçişler, temel pencere yöneticisi tarafından animasyonlu hale getirilir ve koordine edilir.
- 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. Bu değişiklikler, içeriği gerektiği gibi ayarlamak için diğer sistem uygulamalarına iletilir. XML'de kullanıcı arayüzü ilişkilerini tanımlayarak şunları yapabilirsiniz:
Karmaşık kullanıcı arayüzü davranışlarını belirtin: Ayrıntılı kullanıcı arayüzü etkileşimlerini tanımlayın.
Pencere sistemlerini düzenleme: Pencere konumunu 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 edinmek için Geçiş yapılandırma başlıklı makaleyi inceleyin.
Sistem kullanıcı arayüzü düğmeleri
CarSystemBarButtons, amaçları tetiklemenin yanı sıra event, selectedEvent ve unselectedEvent özellikleri kullanılarak dokunulduğunda bir ScalableUI 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 kullanıcı 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 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 varyantlarına geçirmek için _System_HomeEvent yapılandırın.
İçeriğe dayalı yerleşimler 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'ları 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 uygun seçenektir. 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.