Bu sayfada,
Kullanıcı arayüzü öğeleri içeren com.android.car.ui.preference
paketi
uygulamalar için tercihleri göstermek üzere kullanılabilir.
Çoğu öğe, eklediğiniz com.androidx.preference
sınıflarını alt sınıfa dönüştürüyor
CarUi özelleştirmeleri. Çoğu durumda,
com.android.car.ui.preferences
paketi kullanılacak:
com.android.car.PreferenceFragment
. PreferenceFragment
tümünün yerini alıyor
Eşdeğerleri olan androidx.preference
öğesi
car.ui.preferences
. Bu işlevleri çalışırken görmek için car-ui-lib adresine bakın
Paintbooth referans uygulaması. Örnek:
Şekil 1. Arabanın kullanıcı arayüzü tercih düzeni.
Kullanılabilir tercih türleri
Bu bölümde, Araba kullanıcı arayüzü tercih türleri açıklanmaktadır.
PreferenceFragment
PreferenceFragment
, şunun bir alt sınıfıdır:
androidx.preference.PreferenceFragmentCompat
ve
göz önünde bulundurmalısınız. Bu sınıf, setPreferenceScreen
adlı kullanıcıya yapılan bir arama sırasında
androidx.preference
öğelerini otomatik olarak şununla değiştirir:
car.ui.preference
öğesinin kullanılabilir eşdeğeri.
<style name="PreferenceFragment.CarUi"> <item name="android:divider">?android:attr/listDivider</item> <item name="android:layout">@layout/car_ui_preference_fragment_with_toolbar</item> </style>
CarUiPreference
Bu, androidx.preference.Preference
sınıfının CarUi eşdeğeridir.
çalışma zamanı kaynak yer paylaşımı (RRO) kullanılarak özelleştirilebilen aşağıdaki özellikleri destekler.
Ayrıca CarUiPreference
stilinin bir varyantını kullanan diğer tüm CarUi öğeleri
aşağıdaki özellikleri destekler.
<declare-styleable name="CarUiPreference"> <!-- Toggle for showing chevron --> <attr name="showChevron" format="boolean" /> <!-- Show ripple when disabled preference is clicked --> <attr name="showRippleOnDisabledPreference" format="boolean" /> </declare-styleable>
Aşağıda, com.android.car.ui.preference
için genişletilen temel stil verilmiştir.
androidx.Preference
teması. chevron
çekilebilir öğesi şurada tanımlanır:
car_ui_preference_icon_chevron.xml
.
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/car_ui_preference_icon_chevron_disabled"/> <item android:state_enabled="true" android:drawable="@drawable/car_ui_preference_icon_chevron_enabled"/> </selector>
ripple
, şurada tanımlanmıştır:
car_ui_recyclerview_button_ripple_background
.
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/car_ui_ripple_color" />
<style name="Preference.CarUi"> <item name="allowDividerBelow">false</item> <item name="allowDividerAbove">false</item> <item name="android:layout">@layout/car_ui_preference</item> </style>
Yukarıdaki stilde yer alan düzen bindiriliyorsa müşterilerin
yeni düzen en azından karşılık gelen
androidx
sınıf. Bu,
bu temel stili uygulayacaksınız.
CarUiDropDownTercihi
Bu, androidx.preference.DropDownPreference
öğesinin CarUi eşdeğeridir
sınıfını temsil eder ve aşağıdaki stili kullanır:
<style name="Preference.CarUi.DropDown"> <item name="android:layout">@layout/car_ui_preference_dropdown</item> </style>
CarUiRadioButtonTercihi
Bu androidx.preference.TwoStatePreference
alt sınıfı
sırasında car_ui_radio_button_preference_widget
düzeni şişirir
başlatma. Bu düzen RRO üzerinde yer alıyorsa yeni düzen
android.widget.RadioButton
türünde, kimliğe sahip bir öğe içerir
R.id.radio_button
ve başka öğeler ile kimlikleri de içermelidir
temel sınıfın gerektirdiğinden oluşur.
CarUiSwitchTercihi
Bu, androidx.preference.SwitchPreference
sınıfının CarUi eşdeğeridir.
Aradaki fark, bu öğe etkinleştirilmediğinde bir durum mesajı mesajı gösterilmesidir. Kadeh kaldırın
mesajı,
setMessageToShowWhenDisabledPreferenceClicked
yöntemi
Android 10 ve Android 11. Bu öğe
şu stili kullanır:
<style name="Preference.CarUi.SwitchPreference"> <item name="android:widgetLayout">@layout/car_ui_preference_widget_switch</item> <item name="android:switchTextOn">@string/car_ui_preference_switch_on</item> <item name="android:switchTextOff">@string/car_ui_preference_switch_off</item> </style>
CarUiİkiİşlem Tercihi
İkincil bir işlemi etkinleştiren bir CarUiPreference
alt sınıfı.
bu öğeyi özelleştirmek için kullanılabilecek özellikler aşağıda verilmiştir:
<declare-styleable name="CarUiTwoActionPreference"> <!-- Determines if the secondary action is initially shown --> <attr name="actionShown" format="boolean"/> </declare-styleable>
Bu öğe, temel sınıfla aynı stili kullanır ve
R.id.action_widget_container
ve android.R.id.widget_frame
.
AraçUiİletişimFragmenti
Bu sınıf, olduğu gibi şuradan ödünç alındı:
Bazı eklemeler içeren androidx.preference.PreferenceDialogFragmentCompat
benzersiz bir deneyim. Müşteriler, sunum yapmak için bu sınıfın alt sınıflarını kullanmalıdır.
temalı platform AlertDialog
.
TercihİletişimKutusuFragment
CarUiDialogFragment
öğesinin doğrudan bir alt sınıfı. Müşteriler bu sınıfın alt sınıfına girmelidir
AlertDialog
.
CarUiEdit Metin Tercihi
Bu, androidx.preference.EditTextPreference
öğesinin CarUi eşdeğeridir
sınıf:
<style name="Preference.CarUi.DialogPreference.EditTextPreference"> <item name="android:dialogLayout">@layout/car_ui_preference_dialog_edittext</item> </style>
Yukarıdaki stilde yer alan düzen bindiriliyorsa müşterilerin yeni düzenin
androidx.preference.EditTextPreference
sınıfı tarafından beklenen kimlikleri sağlar.
EditTextPreferenceDialogFragment
PreferenceDialogFragment
öğesinin doğrudan bir alt sınıfı. Ayrıca,
androidx.preference.PreferenceDialogFragments
sınıfı. Müşteriler,
bu sınıfı kullanarak AlertDialog
temalı platformları gösterebilirsiniz.
AraçUiSeekBarDialogPreference
androidx.preference.DialogPreference
sınıfının uygulanması,
sağlayan
Arama Çubuğu
işlev:
<style name="Preference.CarUi.SeekBarPreference"> <item name="android:layout">@layout/car_ui_preference_widget_seekbar</item> <item name="adjustable">true</item> <item name="showSeekBarValue">false</item> </style>
AramaBarPreferenceDialogFragment
İletişim kutusunda SeekBar ile düzen sağlayan bir parça.
CarUiListTercihi
androidx.preference.ListPreference
sınıfının CarUi eşdeğeri.
ListPreferenceFragment
androidx.preference.ListPreference
var.
Çoklu Seçim Listesi Tercihi
androidx.preference.Preference
sınıfının CarUi eşdeğeri.
ÇokluSeçimListeTercihiFragment
com.android.car.ui.CarUiMultiSelectListPreference
var.