تصف هذه الصفحة كيفية استخدام العناصر وتخصيصها في
حزمة com.android.car.ui.preference
، التي تتضمّن عناصر في واجهة المستخدم
التي يمكن استخدامها لتقديم الإعدادات المفضّلة للتطبيقات
تضع معظم العناصر تصنيفات فرعية لفئات com.androidx.preference
التي تضيف إليها.
تخصيصات CarUi. في معظم الحالات، يمكنك استخدام العناصر الموجودة في
حزمة com.android.car.ui.preferences
باستخدام
com.android.car.PreferenceFragment
PreferenceFragment
يستبدل الكل
عناصر androidx.preference
مع مكافئاتها في
car.ui.preferences
لعرض هذه الوظائف وهي قيد التشغيل، راجع Car-ui-lib
التطبيق المرجعي لـ Paintbooth. مثل:
الشكل 1. التنسيق المفضَّل لواجهة مستخدم السيارة
أنواع الإعدادات المفضّلة المتوفّرة
يصف هذا القسم أنواع الإعدادات المفضّلة لواجهة مستخدم السيارة.
سمة PreferenceFragment
PreferenceFragment
هي فئة فرعية من
androidx.preference.PreferenceFragmentCompat
وهي الفئة الأساسية التي
التي يجب على العملاء استخدامها. خلال مكالمة مع "setPreferenceScreen
"، سيشارك هذا الصف
تستبدل العناصر من androidx.preference
تلقائيًا بـ
مكافئ متاح من عناصر car.ui.preference
.
<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>
الإعدادات المفضَّلة CarUi
وهذا هو مكافئ CarUi لفئة androidx.preference.Preference
التي
يدعم السمات التالية، والتي يمكن تخصيصها باستخدام تراكب موارد وقت التشغيل (RRO).
جميع عناصر CarUi الأخرى التي تستخدم صيغة من نمط CarUiPreference
أيضًا
تتيح استخدام السمات التالية.
<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>
في ما يلي النمط الأساسي لـ com.android.car.ui.preference
، والذي يمتد
المظهر androidx.Preference
. يتم تحديد عنصر chevron
القابل للرسم في
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
في
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>
إذا كان التخطيط بالنمط أعلاه متراكبًا، يحتاج العملاء إلى التأكد
يوفر التخطيط الجديد على الأقل أرقام التعريف المتوقعة من خلال
صفان (androidx
). ينطبق هذا أيضًا على العناصر الأخرى التي تستخدم
هذا النمط الأساسي.
الإعداد المفضّل CarUiDropDown
وهذا هو ما يكافئ CarUi لـ androidx.preference.DropDownPreference
الفئة وتستخدم النمط التالي:
<style name="Preference.CarUi.DropDown"> <item name="android:layout">@layout/car_ui_preference_dropdown</item> </style>
CarUiRadioButtonPreferences
هذه الفئة الفرعية من androidx.preference.TwoStatePreference
تضخيم تنسيق car_ui_radio_button_preference_widget
أثناء
التهيئة. إذا كان هذا التخطيط متراكبًا في RRO، فيجب
ستحتوي على عنصر من النوع android.widget.RadioButton
، بمعرّف
R.id.radio_button
ويجب أن يحتوي أيضًا على عناصر ومعرّفات أخرى
التي تتطلبها الفئة الأساسية.
ميزة CarUiSwitchPreference
وهذه العلامة هي ما يكافئ CarUi لفئة androidx.preference.SwitchPreference
.
ويتمثل الفرق بينهما في أنه عندما لا يتم تفعيل هذا العنصر، تظهر رسالة إشعار منبثق. الخبز المحمّص
يمكن تخصيص رسالة عن طريق استدعاء
طريقة "setMessageToShowWhenDisabledPreferenceClicked
" في
Android 10 وAndroid 11. هذا العنصر
النمط التالي:
<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>
الإعداد المفضّل CarUitwoActionAction
فئة فرعية من CarUiPreference
تفعِّل إجراءً ثانويًا. في
في ما يلي السمات التي يمكن استخدامها لتخصيص هذا العنصر:
<declare-styleable name="CarUiTwoActionPreference"> <!-- Determines if the secondary action is initially shown --> <attr name="actionShown" format="boolean"/> </declare-styleable>
يستخدم هذا العنصر نفس نمط الفئة الأساسية ويتطلب
"R.id.action_widget_container
" وandroid.R.id.widget_frame
"
CarUiDialogFragment
تم استعارة هذا الصف كما هو من
androidx.preference.PreferenceDialogFragmentCompat
مع بعض الإضافات
الخاصة بـ CarUi. على العملاء استخدام الفئات الفرعية من هذه الفئة لتقديم
منصة ذات طابع خاص AlertDialog
مربّع حوار التفضيلات
فئة فرعية مباشرة من CarUiDialogFragment
. يجب على العملاء تصنيف هذه الفئة ضمن فئة فرعية
لتقديم أي منصة ذات طابع خاص "AlertDialog
"
ميزة CarUiEditTextPreference
وهذا هو ما يكافئ CarUi لـ androidx.preference.EditTextPreference
الفئة:
<style name="Preference.CarUi.DialogPreference.EditTextPreference"> <item name="android:dialogLayout">@layout/car_ui_preference_dialog_edittext</item> </style>
إذا كان التخطيط بالنمط أعلاه متراكبًا، يحتاج العملاء إلى التأكد من أن التخطيط الجديد
توفر المعرّفات المتوقعة من الفئة androidx.preference.EditTextPreference
.
تعديل مربع الحوار المفضّل لـ"تعديل نص"
فئة فرعية مباشرة من PreferenceDialogFragment
. كما أنه مكافئ CarUi
لفئة androidx.preference.PreferenceDialogFragments
. يجب على العملاء
استخدِم هذا الصف لتقديم أي منصة ذات طابع خاص "AlertDialog
".
خيار CarUiSeekBarDialogPreference
تنفيذ لفئة androidx.preference.DialogPreference
،
والذي يوفر
شريط البحث
الوظيفة:
<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>
مربّع الحوار SeekBarPreferenceDialogFragment
جزء يوفر تنسيقًا مع شريط التمرير في مربع حوار.
خيار CarUiListPreference
ما يعادله من CarUi لفئة واحدة (androidx.preference.ListPreference
)
قائمة PreferenceFragment
جزء يوفر تخطيطًا
androidx.preference.ListPreference
فيه.
CarUiMultiSelectListPreference
تمثّل هذه السمة CarUi مكافئًا لفئة androidx.preference.Preference
.
MultiSelectListPreferenceFragment
جزء يوفر تخطيطًا
com.android.car.ui.CarUiMultiSelectListPreference
فيه.