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