কার UI পছন্দ কাস্টমাইজ করুন

এই পৃষ্ঠাটি com.android.car.ui.preference প্যাকেজে উপাদানগুলিকে কীভাবে ব্যবহার এবং কাস্টমাইজ করতে হয় তা বর্ণনা করে, যার মধ্যে UI উপাদান রয়েছে যা অ্যাপগুলির পছন্দগুলি উপস্থাপন করতে ব্যবহার করা যেতে পারে৷

বেশিরভাগ উপাদান com.androidx.preference ক্লাসে সাবক্লাসিং করে যেখানে আপনি CarUi কাস্টমাইজেশন যোগ করেন। বেশিরভাগ ক্ষেত্রে, আপনি com.android.car.PreferenceFragment ব্যবহার করে com.android.car.ui.preferences প্যাকেজের উপাদানগুলি ব্যবহার করতে পারেন। PreferenceFragment সমস্ত androidx.preference উপাদানকে car.ui.preferences এ তাদের সমতুল্য দিয়ে প্রতিস্থাপন করে। এই কার্যকারিতাগুলি কার্যকরভাবে দেখতে, car-ui-lib পেইন্টবুথ রেফারেন্স অ্যাপটি দেখুন। উদাহরণ স্বরূপ:

গাড়ির UI পছন্দ লেআউট

চিত্র 1. গাড়ী UI পছন্দ বিন্যাস.

উপলব্ধ পছন্দ প্রকার

এই বিভাগটি গাড়ির UI পছন্দের ধরন বর্ণনা করে।

পছন্দের খণ্ড

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 সমতুল্য যা নিম্নলিখিত বৈশিষ্ট্যগুলিকে সমর্থন করে, যা রানটাইম রিসোর্স ওভারলে (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 ক্লাসের দ্বারা প্রত্যাশিত আইডিগুলি প্রদান করে। এটি অন্যান্য উপাদানগুলির ক্ষেত্রেও প্রযোজ্য যা এই বেস শৈলী ব্যবহার করে।

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 টাইপের একটি উপাদান থাকতে হবে, id R.id.radio_button সহ এবং বেস ক্লাসের জন্য প্রয়োজনীয় অন্যান্য উপাদান এবং আইডিও থাকতে হবে।

CarUiSwitchPreference

এটি androidx.preference.SwitchPreference ক্লাসের CarUi সমতুল্য। পার্থক্য হল যখন এই উপাদানটি সক্রিয় করা হয় না, একটি টোস্ট বার্তা দেখানো হয়। Android 10 এবং Android 11-এ setMessageToShowWhenDisabledPreferenceClicked পদ্ধতিতে কল করে টোস্ট বার্তাটি কাস্টমাইজ করা যেতে পারে। এই উপাদানটি নিম্নলিখিত শৈলী ব্যবহার করে:

<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>

CarUiTwoActionPreference

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 উপস্থাপন করতে ক্লায়েন্টদের এই শ্রেণীর সাবক্লাস ব্যবহার করা উচিত।

PreferenceDialogFragment

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 ক্লাসের দ্বারা প্রত্যাশিত আইডি প্রদান করে।

EditTextPreferenceDialogFragment

PreferenceDialogFragment এর একটি সরাসরি সাবক্লাস। এছাড়াও, androidx.preference.PreferenceDialogFragments ক্লাসের CarUi সমতুল্য। যেকোন থিমযুক্ত প্ল্যাটফর্ম AlertDialog উপস্থাপন করতে ক্লায়েন্টদের এই ক্লাস ব্যবহার করা উচিত।

CarUiSeekBarDialogPreference

androidx.preference.DialogPreference ক্লাসের একটি বাস্তবায়ন, যা SeekBar কার্যকারিতা প্রদান করে:

<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

একটি খণ্ড যা একটি ডায়ালগে একটি SeekBar সহ একটি বিন্যাস প্রদান করে৷

CarUiListPreference

CarUi androidx.preference.ListPreference ক্লাসের সমতুল্য।

ListPreferenceFragment

একটি খণ্ড যা এটিতে androidx.preference.ListPreference সহ একটি লেআউট প্রদান করে৷

CarUiMultiSelectListPreference

androidx.preference.Preference ক্লাসের CarUi সমতুল্য।

মাল্টিসিলেক্টলিস্টপ্রেফারেন্স ফ্র্যাগমেন্ট

একটি খণ্ড যা এটিতে com.android.car.ui.CarUiMultiSelectListPreference সহ একটি লেআউট প্রদান করে৷