कार के यूज़र इंटरफ़ेस (यूआई) की सेटिंग को अपनी पसंद के मुताबिक बनाएं

इस पेज में बताया गया है कि com.android.car.ui.preference पैकेज, जिसमें यूज़र इंटरफ़ेस (यूआई) एलिमेंट शामिल हैं जिसका इस्तेमाल ऐप्लिकेशन की प्राथमिकताएं दिखाने के लिए किया जा सकता है.

ज़्यादातर एलिमेंट, com.androidx.preference क्लास को सब-क्लास कर रहे हैं. इनमें वे क्लास शामिल हैं जिन्हें आपने जोड़ा है CarUi को पसंद के मुताबिक बनाने की सुविधा. ज़्यादातर मामलों में, आप com.android.car.ui.preferences पैकेज का इस्तेमाल करके com.android.car.PreferenceFragment. PreferenceFragment सभी को बदल देता है androidx.preference एलिमेंट, जिनके बराबर है car.ui.preferences. इन फ़ंक्शन को काम करते हुए देखने के लिए, card-ui-lib को देखें Paintbooth का रेफ़रंस ऐप्लिकेशन. जैसे:

कार के यूज़र इंटरफ़ेस (यूआई) की सेटिंग का लेआउट

पहला डायग्राम. कार के यूज़र इंटरफ़ेस (यूआई) की प्राथमिकता का लेआउट.

प्राथमिकता के उपलब्ध टाइप

इस सेक्शन में, कार के यूज़र इंटरफ़ेस (यूआई) की सेटिंग के बारे में बताया गया है.

Preferenceफ़्रैगमेंट

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>

CarUiPreference

यह उस androidx.preference.Preference क्लास का CarUi है जो नीचे दिए गए एट्रिब्यूट के साथ काम करता है. इन्हें रनटाइम रिसॉर्स ओवरले (आरआरओ) का इस्तेमाल करके, पसंद के मुताबिक बनाया जा सकता है. CarUiPreference स्टाइल के वैरिएंट का इस्तेमाल करने वाले दूसरे सभी CarUi एलिमेंट भी जो इन एट्रिब्यूट के साथ काम करते हैं.

<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 क्लास. यह उन दूसरे एलिमेंट पर भी लागू होता है जो यह बेस स्टाइल.

CarUiDropDownPreference

यह androidx.preference.DropDownPreference के बराबर का CarUi है क्लास और इस स्टाइल का इस्तेमाल करता है:

<style name="Preference.CarUi.DropDown">
        <item name="android:layout">@layout/car_ui_preference_dropdown</item>
</style>

CarUiRadioButtonPreference

androidx.preference.TwoStatePreference का यह सब-क्लास के दौरान car_ui_radio_button_preference_widget लेआउट को बढ़ा देता है शुरू करना. अगर इस लेआउट को RRO के ऊपर लगाया जा रहा है, तो नए लेआउट को इसमें आईडी के साथ android.widget.RadioButton टाइप का एलिमेंट शामिल है R.id.radio_button और इसमें दूसरे एलिमेंट और आईडी भी शामिल होने चाहिए यह बेस क्लास के लिए ज़रूरी है.

CarUiSwitchPreference

यह androidx.preference.SwitchPreference क्लास का CarUi है. अंतर यह है कि इस एलिमेंट के चालू न होने पर, एक टोस्ट मैसेज दिखता है. टोस्ट तो 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>

कारयूईटू-ऐक्शन प्राथमिकता

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.

CarUiDialogफ़्रैगमेंट

इस क्लास को जैसा है से लिया गया है androidx.preference.PreferenceDialogFragmentCompat खाते में कुछ बदलाव किए गए हैं खास तौर पर, CarUi के लिए. प्रस्तुत करने के लिए क्लाइंट को इस क्लास के सब-क्लास का इस्तेमाल करना चाहिए थीम वाला प्लैटफ़ॉर्म AlertDialog.

PreferenceDialogफ़्रैगमेंट

CarUiDialogFragment की डायरेक्ट सब-क्लास. क्लाइंट को इस क्लास को सब-क्लास करना चाहिए किसी भी थीम वाले प्लैटफ़ॉर्म AlertDialog के बारे में बताएं.

CarUiEditTextPreference

यह androidx.preference.EditTextPreference के बराबर का CarUi है क्लास:

<style name="Preference.CarUi.DialogPreference.EditTextPreference">
        <item name="android:dialogLayout">@layout/car_ui_preference_dialog_edittext</item>
</style>

अगर ऊपर दी गई शैली में मौजूद लेआउट ओवरले किया जा रहा है, तो क्लाइंट को पक्का करना होगा कि नया लेआउट androidx.preference.EditTextPreference क्लास के मुताबिक आईडी देता है.

EditTextPreferenceDialogफ़्रैगमेंट

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>

SeekBarPreferenceDialogफ़्रैगमेंट

वह फ़्रैगमेंट जो किसी डायलॉग में SeekBar के साथ लेआउट देता है.

CarUiListPreference

androidx.preference.ListPreference क्लास के बराबर CarUi.

ListPreferenceफ़्रैगमेंट

वह फ़्रैगमेंट जो लेआउट देता है androidx.preference.ListPreference इसमें हैं.

CarUiMultiSelectListPreference

androidx.preference.Preference क्लास का CarUi.

MultiSelectListPreferenceफ़्रैगमेंट

वह फ़्रैगमेंट जो लेआउट देता है com.android.car.ui.CarUiMultiSelectListPreference इसमें हैं.