Çift Bölme Özelleştirme

Android 12 tanıttı solda bir statik L0 menü ve sağ tarafta bir içerik bölmede ile yeni bir çift bölmesi tasarım. Bu özellik birçok yeni özelleştirme seçenekleri tanıtır. Bu makale bu özellikleri ayrıntıları ve kendi tercihlerini özelleştirebilirsiniz açıklar.

Tek bölmesine Geri Döndür

uygulama penceresini daha büyüktür ya da genişliğinde ve aksi takdirde tek bölmesi görünümünde 1400dp için eşit, varsayılan olarak, CarSettings artık çift bölmesi görünümünü gösterir. Gerekli konfigürasyon değerlerini hedeflemek için bir çalışma zamanı Kaynak Yerleşimi (RRO) kullanın belirli bir aygıt için bu özelleştirmek için:

Değer Açıklama
config_global_force_single_pane Ayarlayın true tüm uygulama tek bölmeli yapılandırmada çalışmasına ise.
config_homepage_fragment_class ana sayfa için başlangıç ​​parçasını belirtir. Çift bölmesinde, bu içerik bölmesinde ilk fragmanı için kullanılır. Tek bölmesinde, bu ana sayfa parçası olmalıdır.

Başlık tuşları

Farklı CarSettings faaliyetleri özelleştirilmiş IA olabileceğinden, bir başlık anahtar haritalama basitleştirmek özelleştirmelerine sağlanır. In AndroidManifest.xml , çift bölmesini destekleyen her etkinlik bir sahiptir TOP_LEVEL_HEADER_KEY kendi meta verilerinde belirtilmiş. Belirtilen bir anahtara Bu değer noktaları res/values/header_keys.xml başlangıç parçası altına düştüğünde bu üst seviye menü ürünün tercih anahtarla eşleştirilir. Bir etkinliğin başlangıç parçası değiştirilir veya IA belirli bir fragmanı, farklı bir üst düzey tercih altına düştüğünde şekilde yeniden düzenlenmiş olduğu, bu nedenle, ilgili eşleştirme (s) header_keys.xml dosyası doğru değerini belirlemek için güncellenebilir .

Özelleştirme etkinlik düzeni

İçin düzen BaseCarSettingsActivity bulunan res/layout/car_setting_activity ve bu bölümlerdeki:

Değer Açıklama
top_level_menu çift ​​bölmesi yapılandırmaları gösterilen üst düzey menü parçası. Bu bölümün genişliği tarafından belirtilen top_level_menu_width . Bir şasi tabanı düzeni (araç çubuğu ile) bu görüşü etrafında sarılır.
top_level_divider Eğer özelleştirebileceğiniz genişliği iki bölme ve böler Dikey hat top_level_divider_width .
fragment_container_wrapper Sarıcı içerik bölmesinin düzeni (ya da bir singlepane konfigürasyonda ana bölmesi). Bir şasi baselayout (araç çubuğu ile) bu görünüm etrafına sarılmıştır.
settings_focus_parking_view Custom uygulaması FocusParkingView gerektiğinde döner odağı tutmak için.
fragment_container Ana içerik kabı. İçerik fragmanları hedef düzeni olarak kullanmak.
restricted_message UX-sınırlı bloke görünümü örneklerinde gösterildiği üzere BaseFragment .

Şekil 1. Çift bölmeli düzeni

Üst düzey tercihleri

Tercihler

Üst düzey tercihleri ​​tercihi yüksekliği ve arka plan şeklini değiştirmek için biraz değiştirilmiş düzen ile özel CarUiPreferences bulunmaktadır. Bu tercihlerden görünümünü özelleştirmek için birçok farklı yolu vardır:

Değer Açıklama
res/layout/top_level_preference.xml Tüm tercihi düzenini Bindirme.
top_level_preference_min_height Üst düzey tercih Minimum yükseklik. içeriğine bağlı olarak (örneğin, bir alt-başlık mevcuttur), tercihleri ​​bu değerden daha uzun olabilir.
top_level_preference_corner_radius köşe yuvarlama yarıçapı.
top_level_preference_background En üst düzey tercihlerinin Geçmişi anda vurgulanan değilken.
top_level_preference_highlight En üst düzey tercihlerinin Arkaplan Vurgulandığında.

Simgeler

Şekil 2, üst düzey simgeleri artık renkli bir arka plan şekil içindeki bir vektör simgesi oluşur verilmektedir. Bu şekil, şu anda ya da oval bir şekli dikdörtgen desteklemek üzere yapılandırılmıştır. Varsayılan olarak, şekli oval olarak ayarlanır.

, Varsayılan değiştirme değeri değiştirmek için config_top_level_icon_shape (0 dikdörtgendir ve 1 oval) elde edilmektedir. Simgeler tarafından ön plan simgesini insetting tarafından oluşturulur top_level_foreground_icon_inset arkaplan şekilden. Her üst düzey simgesi belirtilen bir ön plan rengi vardır res/values/colors.xml ve belirtilen bir arka plan rengi res/color klasöründe.

Özelleştirilmiş bir görünüm oluşturmak için, tüm renk değerlerini geçersiz kılabilir.

Şekil 2. Üst düzey tercihi bileşenler

Tarafından belirtilen kategoriye ayrılır enjekte tercihleri için Simgeler config_top_level_injection_categories da üst düzey simgeleri olarak kabul edilir. Resim simgeler aynı değere ve diğer tüm üst düzey simgeler için belirtilen aynı şekle ek olarak (yukarıya bakınız). Ancak, arka plan bu sırada aşağıdaki nitelikler bakarak belirlenir:

  1. com.android.settings.bg.argb enjekte uygulamadan Meta veri.
  2. com.android.settings.bg.hint enjekte uygulamadan Meta veri.
  3. top_level_injected_default_background Belirtilen res/values/colors.xml .

Enjekte uygulama verilerini göz ardı ederek her zaman varsayılan arka planı, set kullanmak için config_top_level_injection_background_always_use_default için true .