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