Temel düzene genel bakış
car-ui-lib araç çubuğu, car_ui_base_layout_toolbar.xml
düzen dosyası aracılığıyla özelleştirilir. Buna *temel düzen* araç çubuğu denir çünkü bu düzen dosyası, düzen şişirildikten kısa bir süre sonra uygulamanın tüm içeriğini içerecek olan car_ui_base_layout_content_container
kimliğine sahip bir FrameLayout
içerir. Bu yapı, OEM'in araç çubuğunu ekranın üst kısmı dışındaki konumlara yerleştirmesine olanak tanır.
Olası düzenler | ||
---|---|---|
car_ui_base_layout_content_container
üzerindeki düzen parametrelerini değiştirerek uygulama, araç çubuğuna yer açmak için daha küçük bir alana sıkıştırılabilir. Ancak bazı özelleştirmeler araç çubuğunun şeffaf olmasını ve uygulamanın üzerine yerleştirilmesini gerektirebilir. Bu durumda görünümler car_ui_top/bottom/left/right_inset
ile etiketlenebilir. car-ui-lib böyle bir etikete sahip bir görünüm tespit ederse, bu görünümün konumunu ve boyutlarını uygulamaya iletir, böylece içeriğini bu miktarda içe doğru girintili hale getirebilir, ancak yine de araç çubuğunun altındaki alanda makul bir arka plan tutabilir . Örneğin, çoğu uygulamada CarUiRecyclerView'daki ilk öğe belirtilen eklerin altında başlayacak, ancak kullanıcı ekranı aşağı kaydırdığında araç çubuğunun arkasında görünmeye devam edecek.
Döner destek
Döner kontrol cihazlarını desteklemek için temel düzenin, düzende mümkün olduğu kadar erken bir FocusParkingView
içermesi gerekir. Bu görünüm, kullanıcının görebileceği bir odak olmadığında odaklanılan şeydir. Araç çubuğunun ayrıca, döner denetleyici için ayrı bir itme bölgesi olduğunu belirten FocusParkingView
içine sarılması gerekir. FocusParkingView'e sarılmamışsa kullanıcı, döner kumandayı kullanarak araç çubuğuyla etkileşime giremez.
Sekmeler
Araç çubuğu sekmeleri, car_ui_toolbar_tab_item.xml
veya car_ui_toolbar_tab_item_flexible.xml
düzen dosyalarıyla özelleştirilir. Dosyalar arasında işlevsel bir fark yoktur; car_ui_toolbar_tab_flexible_layout
Boole kaynağı hangisinin kullanıldığını belirler. Sonuç olarak, car_ui_toolbar_tab_flexible_layout
false
olarak ayarlamanız ve yalnızca normal düzen dosyasını özelleştirmeniz önerilir.
Sekmenin ImageView
Java kodundaki car_ui_toolbar_tab_item_selector
rengiyle renklendirilecektir, dolayısıyla car_ui_toolbar_tab_item_selector
düzenin yanında özelleştirilmesi gerekir. Uygulamalar, sekme simgelerinin de bu renkle renklendirilmemesini talep edebilir.
Sekmenin TextView
metin görünümü Java kodunda TextAppearance.CarUi.Widget.Toolbar.Tab
veya TextAppearance.CarUi.Widget.Toolbar.Tab.Selected
olarak ayarlanmıştır, dolayısıyla düzen dosyasında ayarlanan metin görünümü uygulanmaz. Bu stillerin de özelleştirilmesi gerekir.
Menü Öğeleri
MenuItems
varsayılan araç çubuğunun sağ üst köşesindeki düğmelerdir. Bunlar metin, simgeler, simgeler ve metin veya anahtarlar olabilir. Bu varyasyonların tümü car_ui_toolbar_menu_item
düzen dosyasının bir parçasıdır, çünkü uygulama talep ederse MenuItems
her form arasında geçiş yapabilmesi gerekir.
MenuItems
, farklı bir düzen dosyasını şişiren birincil olabilir: car_ui_toolbar_menu_item_primary
. Birincil Menü Öğesi, örneğin kenarlıklı/kenarlıksız bir düğme aracılığıyla normal Menü Öğesinden görsel olarak farklı görünmelidir. Varsayılan olarak, car_ui_toolbar_menu_item_primary
yalnızca car_ui_toolbar_menu_item
öğesine yönlendirir, böylece aynı görünürler.
MenuItems
etkinleştirilebilir ; bu, bu MenuItem'in değiştirildiğini gösteren başka bir görsel durumdur. Bu durum, MenuItem görünümlerindeki tüm çizilebilir öğelere state_activated
durumunu ekleyen MenuItem görünümünde setActivated(true)
çağrılarak uygulanır. Bu çizilebilir duruma, çalışma zamanı kaynak katmanındaki (RRO) çizilebilir bir seçiciyle yanıt verilebilir.
Araç hareket halindeyken MenuItems
UX ile sınırlandırılabilir . UX kısıtlı, active gibi çizilebilir bir durumdur ancak bu sefer durum, Android çerçevesi yerine uygulamada tanımlanır. Bu, RRO'da tanımlanan özelliğin uygulamada tanımlanan özellik ile eşleşmesi için state_ux_restricted
özelliğinin de RRO ile kaplanması gerektiği anlamına gelir.
Aramak
Arama çubuğuna ihtiyaç duymayan uygulamalar için düzen şişirme performansını iyileştirmek amacıyla arama çubuğu ayrı bircar_ui_toolbar_search_view
düzen dosyasında bulunur. car_ui_toolbar_search_view_container
kimliğine sahip FrameLayout
, şişirildiğinde arama çubuğunu içerecektir.