مولفه ها و ویژگی های ترجیحی بخشی از Android Jetpack .
 این مبحث برخی از متداولترین مؤلفهها و ویژگیهای Preference را که هنگام ساختن صفحه تنظیمات مورد استفاده قرار میگیرند، توضیح میدهد.
اجزای ترجیحی
 این بخش مولفه های Preference رایج را توضیح می دهد. برای اطلاعات بیشتر، به صفحات مرجع مربوطه برای هر جزء مراجعه کنید.
زیرساخت ترجیحی
 PreferenceFragmentCompat - Fragment که نمایش یک سلسله مراتب تعاملی از اشیاء Preference را کنترل می کند.
ظروف ترجیحی
 PreferenceScreen - یک ظرف سطح بالا که یک صفحه تنظیمات را نشان می دهد. این جزء اصلی سلسله مراتب Preference شما است.
 PreferenceCategory - ظرفی که برای گروه بندی Preferences مشابه استفاده می شود. یک PreferenceCategory عنوان دسته را نمایش میدهد و گروههایی از Preferences را به صورت بصری جدا میکند.
ترجیحات فردی
 Preference - بلوک اصلی ساختمانی که یک محیط فردی را نشان می دهد. اگر یک Preference روی ماندگاری تنظیم شود، دارای یک جفت کلید-مقدار متناظر است که انتخاب کاربر را برای تنظیماتی که میتواند در جای دیگری در برنامه به آن دسترسی داشته باشد، نگه میدارد.
 EditTextPreference - Preference که یک مقدار String را حفظ می کند. کاربران می توانند روی Preference ضربه بزنند تا گفتگویی حاوی فیلد متنی راه اندازی شود که به کاربر اجازه می دهد مقدار ثابت را تغییر دهد.
 ListPreference - Preference که یک مقدار رشته را حفظ می کند. کاربران می توانند این مقدار را در یک گفتگو که حاوی لیستی از دکمه های رادیویی با برچسب های مربوطه است، تغییر دهند.
 MultiSelectListPreference - Preference که مجموعه ای از رشته ها را حفظ می کند. کاربران می توانند این مقادیر را در یک گفتگو که حاوی لیستی از چک باکس ها با برچسب های مربوطه است، تغییر دهند.
 SeekBarPreference - Preference که یک مقدار صحیح را حفظ می کند. این مقدار را می توان با کشیدن نوار جستجوی مربوطه که در طرح بندی Preference نمایش داده می شود، تغییر داد.
 SwitchPreferenceCompat - Preference که یک مقدار بولی را حفظ می کند. این مقدار را می توان با تعامل با ویجت سوئیچ مربوطه یا با ضربه زدن روی طرح بندی Preference تغییر داد.
 CheckBoxPreference - Preference که یک مقدار بولی را حفظ می کند. این مقدار را می توان با تعامل با چک باکس مربوطه یا با ضربه زدن روی طرح بندی Preference تغییر داد.
ویژگی های ترجیحی
 در زیر برخی از متداولترین ویژگیهایی که ظاهر و رفتار Preference را پیکربندی میکنند، فهرست شدهاند.
ویژگی های عمومی
-  title
- یک مقدار - Stringکه عنوان- Preferenceرا نشان می دهد.- مثال: - app:title="Title"
-  summary
- یک مقدار - Stringکه خلاصه- Preferenceرا نشان می دهد.- مثال: - app:summary="Summary"
-  icon
- یک - Drawableکه نماد- Preferenceنشان می دهد.- مثال: - app:icon="@drawable/ic_camera"
-  key
- یک مقدار - Stringکه نشان دهنده کلیدی است که برای تداوم مقدار- Preferenceمرتبط استفاده می شود. یک کلید به شما این امکان را می دهد که در طول زمان اجرا،- Preferenceبیشتر سفارشی کنید. شما باید برای هر- Preferenceدر سلسله مراتب خود یک کلید تنظیم کنید.- مثال: - app:key="key"
-  enabled
- یک مقدار بولی که نشان می دهد آیا کاربران می توانند با - Preferenceتعامل داشته باشند یا خیر. وقتی این مقدار- falseباشد،- Preferenceخاکستری به نظر میرسد و کاربران نمیتوانند با آن تعامل داشته باشند. مقدار پیش فرض- trueاست.- مثال: - app:enabled="false"
-  selectable
- یک مقدار بولی که نشان می دهد آیا کاربران می توانند با - Preferenceتعامل داشته باشند یا خیر. مقدار پیش فرض- trueاست.- مثال: - app:selectable="false"
-  isPreferenceVisible
- یک مقدار بولی که نشان می دهد یک دسته - Preferenceیا- Preferenceقابل مشاهده است. این معادل فراخوانی- setVisible()است.- مثال: - app:isPreferenceVisible="false"
-  defaultValue
- مقدار پیشفرض یک - Preferenceرا نشان میدهد. این مقدار تنظیم می شود و زمانی باقی می ماند که هیچ مقدار ثابت دیگری برای این- Preferenceیافت نشود. نوع مقدار به- Preferenceمرتبط بستگی دارد.- مثال: - app:defaultValue="true"
-  dependency
- نشان دهنده کلید یک - SwitchPreferenceCompatاست که وضعیت این- Preferenceرا کنترل می کند. وقتی سوئیچ مربوطه خاموش است، این- Preferenceغیرفعال می شود و نمی توان آن را تغییر داد.- مثال: - app:dependency="parent"
ویژگی های PreferenceCategory
-  initialExpandedChildrenCount
- یک مقدار صحیح که رفتار - Preferenceقابل گسترش را فعال می کند. این مقدار نشان دهنده حداکثر تعداد فرزندان برای نمایش در- PreferenceGroupاست. بچههای اضافی جمع میشوند و با ضربه زدن روی دکمه بزرگ کردن نشان داده میشوند. به طور پیش فرض، این مقدار- Integer.MAX_VALUEاست و همه فرزندان نشان داده می شوند.- اخطار: در صورت استفاده از این ویژگی، مطمئن شوید که کلیدی را روی - PreferenceCategoryتنظیم کرده اید تا وضعیت به درستی ذخیره شده و هنگام تغییر پیکربندی (مانند چرخش صفحه) بازیابی شود.- مثال: - app:initialExpandedChildrenCount="0"
ویژگی های ListPreference / MultiSelectListPreference
-  entries
- آرایهای از رشتهها که مربوط به ورودیهای لیست برای نمایش به کاربر است. هر یک از این مقادیر با شاخصی با آرایه ای از مقادیری مطابقت دارند که در داخل وجود دارند. به عنوان مثال، زمانی که کاربر اولین ورودی فهرست را انتخاب می کند، اولین عنصر در آرایه مقادیر مربوطه باقی می ماند. - مثال: - app:entries="@array/entries"- هشدار: مطمئن شوید که طول هر دو آرایه یکسان است و شاخصهای هر آرایه با جفت ورودی/مقدار صحیح مطابقت دارند. 
-  entryValues
- آرایه ورودی هایی که باید ادامه داشته باشند. هر یک از این مقادیر با نمایه با آرایه ای از ورودی های لیست که به کاربر نمایش داده می شود مطابقت دارد. - مثال: - app:entryValues="@array/values"
