مولفه ها و ویژگی های ترجیحی بخشی از 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"