ترجیح
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
26 جولای 2023 | 1.2.1 | - | - | - |
اعلام وابستگی ها
برای افزودن یک وابستگی به Preference، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { def preference_version = "1.2.1" // Java language implementation implementation "androidx.preference:preference:$preference_version" // Kotlin implementation "androidx.preference:preference-ktx:$preference_version" }
کاتلین
dependencies { val preference_version = "1.2.1" // Java language implementation implementation("androidx.preference:preference:$preference_version") // Kotlin implementation("androidx.preference:preference-ktx:$preference_version") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.2
نسخه 1.2.1
26 جولای 2023
androidx.preference:preference:1.2.1
منتشر شد. نسخه 1.2.1 حاوی این commit ها است.
رفع اشکال
-
PreferenceHeaderFragmentCompat
اکنون هنگام استفاده درComponentDialog
یا هنگام استفاده از کتابخانه هایی مانند@AndroidEntryPoint
Hilt کهContext
Fragment را می پوشانند، به درستی دکمه بازگشت سیستم را کنترل می کند. - اولویت اکنون به فعالیت 1.5.1 بستگی دارد. ( Ie5d22 )
-
PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment
اکنونheader.extras
به عنوان آرگومان هایFragment
منتشر می کند.
نسخه 1.2.0
26 ژانویه 2022
androidx.preference:preference:1.2.0
و androidx.preference:preference-ktx:1.2.0
منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
-
PreferenceHeaderFragmentCompat
برای ترجیح دو صفحه اضافه شد که به طور خودکار بر اساس اندازه دستگاه مورد استفاده سازگار می شود و آن را برای استفاده در تلفن ها، تاشوها و تبلت ها مناسب می کند. صفحه هدر با نادیده گرفتن متدonCreatePreferenceHeader()
درPreferenceHeaderFragmentCompat
ارائه می شود. هر<Preference>
در هدرPreferenceFragmentCompat
که ازapp:fragment
استفاده می کند باعث می شود آن قطعه در پنجره جزئیات دوم ظاهر شود. قطعه جزئیات اولیه که باید قبل از انتخاب دستی هر اولویتی نمایش داده شود، میتواند با نادیده گرفتنonCreateInitialDetailFragment()
سفارشی شود. پیادهسازی پیشفرض اولین اولویتی را برمیگرداند که یک قطعه بر روی آن تعریف شده است.
class TwoPanePreference : PreferenceHeaderFragmentCompat() {
override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
return PreferenceHeader()
}
}
حاشیهنویسیهای پوچپذیری به بسیاری از APIهایی اضافه شد که قبلاً
@NonNull
یا@Nullable
را مشخص نکرده بودند. اگر پوچپذیری که در کد Kotlin خود انتخاب کردهاید با قابلیتی که اکنون تعریف شده مطابقت نداشته باشد، این یک تغییر بالقوه شکست منبع Kotlin است.PreferenceFragmentCompat
اکنون به دنبال پیادهسازیهایOnPreferenceStartFragmentCallback
،OnNavigateToScreenListener
وOnDisplayPreferenceDialogListener
بر روی قطعات والد میگردد، قبل از اینکه ببیند آیا Context یا Activity میزبان این رابطها را پیادهسازی میکند یا خیر.
نسخه 1.2.0-rc01
15 دسامبر 2021
androidx.preference:preference:1.2.0-rc01
و androidx.preference:preference-ktx:1.2.0-rc01
بدون تغییر از 1.2.0-beta01
منتشر شده اند. نسخه 1.2.0-rc01 حاوی این commit ها است.
نسخه 1.2.0-beta01
17 نوامبر 2021
androidx.preference:preference:1.2.0-beta01
و androidx.preference:preference-ktx:1.2.0-beta01
بدون تغییر نسبت به Preference 1.2.0-alpha02 منتشر شدند. نسخه 1.2.0-beta01 حاوی این تعهدات است.
نسخه 1.2.0-alpha02
3 نوامبر 2021
androidx.preference:preference:1.2.0-alpha02
و androidx.preference:preference-ktx:1.2.0-alpha02
منتشر شدند. نسخه 1.2.0-alpha02 حاوی این commit ها است.
تغییرات API
- حاشیهنویسیهای پوچپذیری به بسیاری از APIهایی اضافه شد که قبلاً
@NonNull
یا@Nullable
را مشخص نکرده بودند. ( I04252 , Ie2cc0 ) - API
openPreference()
ازPreferenceHeaderFragmentCompat
حذف شد - این روش برای شما فراخوانی شده است و نباید به صورت دستی فراخوانی شود. ( Ia6989 )
تغییرات رفتار
- تماسهای PreferenceFragmentCompat برای
OnNavigateToScreenListener
وOnDisplayPreferenceDialogListener
اکنون از همان الگویOnPreferenceTreeClickListener
پیروی میکنند و قبل از اینکه ببینند آیا Context یا Activity میزبان این رابطها را اجرا میکنند، سلسلهمراتب قطعه والد را برای شنوندگان معتبر جستجو میکنند. ( I7ae6c )
نسخه 1.2.0-alpha01
27 اکتبر 2021
androidx.preference:preference:1.2.0-alpha01
و androidx.preference:preference-ktx:1.2.0-alpha01
منتشر شدند. نسخه 1.2.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
-
PreferenceHeaderFragmentCompat
برای ترجیح دو صفحه اضافه شد ( I9a2d8 )
تغییرات رفتار
تماسهای ترجیحی برای OnPreferenceDisplayDialogCallback، OnPreferenceStartScreenCallback، و OnPreferenceStartFragmentCallback اکنون میتوانند در یک زمینه غیرفعالیت پیادهسازی شوند. getContext() بررسی می شود تا ببیند آیا این callback ها را قبل از بررسی getActivity() اجرا می کند یا خیر. اگر getContext() یک Activity (مورد رایج) را برگرداند، در این صورت هیچ تغییری در رفتار وجود ندارد.
فراخوانی
PreferenceFragmentCompat
بهonPreferenceTreeClick
اکنون به دنبال اجرای رابطOnPreferenceStartFragmentCallback
در قطعات والد قبل از در نظر گرفتن اجرای Activity میگردد. ( c64eed )
نسخه 1.1
نسخه 1.1.1
15 آوریل 2020
androidx.preference:preference:1.1.1
و androidx.preference:preference-ktx:1.1.1
منتشر شد. نسخه 1.1.1 حاوی این commit ها است.
رفع اشکال
-
PreferenceDialogFragmentCompat
دیگر هنگام افزایش یکFragmentContainerView
از xml، یکIllegalStateException
ایجاد نمی کند. ( b/150051716 )
به روز رسانی وابستگی
- اولویت اکنون به Fragment
1.2.4
بستگی دارد. ( aosp/1277317 ) - وابستگی
preference-ktx
اکنون بهandroidx.core:core-ktx:1.1.0
وandroidx.fragment:fragment-ktx:1.2.4
بستگی دارد، وابستگی های مصنوعpreference
اصلی را منعکس می کند و اطمینان می دهد که ارتقاءpreference-ktx
هر دو را به روز می کند. مصنوعات اصلی و-ktx
وابستگی های گذرا. ( aosp/1277319 )
نسخه 1.1.0
5 سپتامبر 2019
androidx.preference:preference:1.1.0
و androidx.preference:preference-ktx:1.1.0
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
اگر این اولین نسخه 1.1.*
است که در حال به روز رسانی آن هستید، در اینجا فهرست مختصری از تغییرات بزرگتر از آخرین نسخه پایدار، 1.0.0
آمده است. همچنین ممکن است راهنمای تنظیمات ، برنامه نمونه و گفتگوی Android Dev Summit برای شما مفید باشد.
تغییرات مهم از 1.0.0
-
PreferenceFragment
و کلاسهای دیگر با استفاده از Fragments منسوخ شدهاند. به جای آن باید ازPreferenceFragmentCompat
و سایر کلاس های *compat استفاده کنید. - اکنون می توانید یک
SummaryProvider
را روی یک Preference تنظیم کنید تا هر زمان که Preference به روز می شود یا برای کاربر قابل مشاهده است، خلاصه آن را به صورت پویا پیکربندی کند. برای اطلاعات بیشتر به راهنما مراجعه کنید. - رابط
EditTextPreference.OnBindEditTextListener
اضافه شد. این امکان سفارشی کردنEditText
نمایش داده شده در گفتگوی مربوطه را پس از بسته شدن گفتگو فراهم می کند. این یک جایگزین مستقیم برای استفاده از ویژگی هایی مانندandroid:inputType
به طور مستقیم درEditTextPreference
است که در کتابخانه AndroidX پشتیبانی نمی شود. برای اطلاعات بیشتر به راهنما مراجعه کنید. -
Preference.setCopyingEnabled()
اضافه شد وقتی تنظیم شد، با فشار طولانی روی Preference، یک منوی زمینه نمایش داده می شود که امکان کپی کردن خلاصه Preference را فراهم می کند. - استایل
SeekBarPreference
برای مطابقت با مشخصات مواد بهروزرسانی شد. برای مشاهده سایر تغییرات درSeekBarPreference
تغییرات جزئی را مشاهده کنید. - تعداد زیادی رفع اشکال، بهروزرسانیهای سبک، رفع سازگاری سطح API، و بهبودهای کلی کیفیت زندگی.
نسخه 1.1.0-rc01
2 جولای 2019
androidx.preference:preference:1.1.0-rc01
و androidx.preference:preference-ktx:1.1.0-rc01
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
-
Preference#onInitializeAccessibilityNodeInfo
را منسوخ کنید - این روش اطلاعات گره دسترسی را برای یک Preference خاص پراکسی میکند - اما این لایه اشتباهی برای این سفارشیسازی است. اگر میخواهید اطلاعات دسترسپذیری را تنظیم کنید، در عوض باید روی BindViewHolder را نادیده بگیرید و اطلاعات دسترسپذیری را مستقیماً به نما اضافه کنید.
نسخه 1.1.0-beta01
5 ژوئن 2019
androidx.preference:preference:1.1.0-beta01
و androidx.preference:preference-ktx:1.1.0-beta01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
تغییرات مهم از 1.1.0
اگر این اولین نسخه 1.1.* است که در حال به روز رسانی آن هستید، در اینجا لیست مختصری از تغییرات بزرگتر از آخرین نسخه پایدار، 1.1.0، آمده است. همچنین ممکن است راهنمای تنظیمات ، برنامه نمونه و گفتگوی Android Dev Summit برای شما مفید باشد.
- PreferenceFragment و کلاس های دیگر که از Fragment استفاده می کنند، منسوخ شده اند - به جای آن باید از PreferenceFragmentCompat و سایر کلاس های *compat استفاده کنید.
- اکنون می توانید یک SummaryProvider را روی یک Preference تنظیم کنید تا هر زمان که Preference به روز می شود یا برای کاربر قابل مشاهده است، خلاصه آن را به صورت پویا پیکربندی کند. برای اطلاعات بیشتر به راهنما مراجعه کنید.
- رابط
EditTextPreference.OnBindEditTextListener
اضافه شد. این امکان سفارشی کردن EditText نمایش داده شده در گفتگوی مربوطه را پس از بسته شدن گفتگو فراهم می کند. این یک جایگزین مستقیم برای استفاده از ویژگی هایی مانند android:inputType به طور مستقیم در EditTextPreference است که در کتابخانه AndroidX پشتیبانی نمی شود. برای اطلاعات بیشتر به راهنما مراجعه کنید. -
Preference.setCopyingEnabled()
اضافه شد وقتی تنظیم شد، با فشار طولانی روی Preference، یک منوی زمینه نمایش داده می شود که امکان کپی کردن خلاصه Preference را فراهم می کند. - استایل SeekBarPreference برای مطابقت با مشخصات مواد بهروزرسانی شد. برای سایر تغییرات در SeekBarPreference، تغییرات جزئی را مشاهده کنید.
- تعداد زیادی رفع اشکال، بهروزرسانیهای سبک، رفع سازگاری سطح API، و بهبودهای کلی کیفیت زندگی.
API از 1.1.0-alpha05 تغییر می کند
- getOnBindEditTextListener را از API عمومی حذف می کند، فقط باید هنگام تعامل با این API از setOnBindEditTextListener استفاده کنید.
لطفاً اگر با مشکلی مواجه شدید، یا اگر پیشنهادی برای ویژگیهای جدید دارید، اشکالات را در اینجا ثبت کنید!
نسخه 1.1.0-alpha05
7 مه 2019
androidx.preference:preference:1.1.0-alpha05
و androidx.preference:preference-ktx:1.1.0-alpha05
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- استایل را برای تنظیمات برگزیده غیرقابل انتخاب بهروزرسانی کرد - عنوان و خلاصه اکنون یک رنگ دارند تا مشخص شود که نمیتوان با آنها تعامل کرد و فقط برای نمایش اطلاعات استفاده میشوند.
- توجه: ممکن است بخواهید
enableCopying="true"
را به تنظیمات برگزیده غیرقابل انتخاب خود اضافه کنید، بنابراین می توانید برای کپی کردن خلاصه مدت طولانی فشار دهید.
رفع اشکال
- اصلاح یک رگرسیون که در آن PreferenceCategory و سایر Preferences غیر قابل انتخاب یک اثر امواج در هنگام انتخاب دارند
- مشکل دسترسپذیری که TalkBack DropDownPreference را بهعنوان قابل کلیک نمیبیند، برطرف شد
- رفع برخی از مشکلات طرح RTL
- برخی از حاشیه نویسی های باطل در PreferenceFragmentCompat برای مطابقت با Fragment به روز شد
نسخه 1.1.0-alpha04
13 مارس 2019
androidx.preference:preference:1.1.0-alpha04
و androidx.preference:preference-ktx:1.1.0-alpha04
منتشر شدند. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
به روز رسانی SeekBarPreference
!
- استایل بهروزرسانی شد تا با مشخصات مواد مطابقت داشته باشد
- برچسب مقدار اکنون بهطور پیشفرض پنهان است، اگرچه همچنان میتوان آن را با
app:showSeekBarValue="true"
یاsetShowSeekBarValue(true)
نشان داد. این برچسب بخشی از مشخصات مواد نیست، اما میدانیم که به شدت از آن استفاده میشود، بنابراین به پشتیبانی از آن ادامه خواهیم داد - حتی اگر استفاده از آن را توصیه نکنیم. - برچسب مقدار اکنون در حالی که SeekBar کشیده می شود، به جای زمانی که منتشر می شود، به روز می شود. توجه داشته باشید که این بدان معنا نیست که مقدار به صورت داخلی بهروزرسانی میشود، برای یک API جدید که آن عملکرد را فعال میکند، به زیر مراجعه کنید.
- توجه: اگرچه پشتیبانی می شود، باید از تنظیم خلاصه در SeekBarPreference خودداری کنید، زیرا در نظر گرفته نشده است و بخشی از مشخصات Material نیست.
- برچسب مقدار اکنون بهطور پیشفرض پنهان است، اگرچه همچنان میتوان آن را با
- پشتیبانی از بهروزرسانیهای مداوم را اضافه میکند و به SeekBar اجازه میدهد تا مقدار ذخیرهشده خود را در حالی که SeekBar کشیده میشود، بهروزرسانی کند. این را می توان از طریق XML یا برنامه نویسی، با
app:updatesContinuously="true"
یاsetUpdatesContinuously(true)
فعال کرد. هر زمان که موقعیت SeekBar روی صفحه تغییر کند، این گزینه فعال می شود.
API تغییر می کند
- حاشیهنویسیهای خالیپذیری از دست رفته را به
findPreference()
اضافه میکند
رفع اشکال
- رفع اشکالی که در صورت فعال نبودن کپی کردن، شنوندگان منوی زمینه به درستی حذف نمی شدند
نسخه 1.1.0-alpha03
7 فوریه 2019
androidx.preference:preference 1.1.0-alpha03
androidx.preference:preference 1.1.0-alpha03
و androidx.preference:preference-ktx 1.1.0-alpha03
با تغییرات زیر منتشر می شوند.
رفع اشکال
- رفع مشکلی که در آن پنجره کپی/پیست کردن گاهی اوقات در گفتگوی EditTextPreference نشان داده نمیشود.
- رفع مشکلی که در آن آداپتور اصلی به درستی ثبت نشده بود و باعث نشت حافظه در شرایط خاص می شد ( b/121006469 )
- رفع برخی از خرابی های مربوط به گفتگو که در طول تغییر پیکربندی رخ داد ( b/122167543 )
- SummaryProvider ثابت برای MultiSelectListPreference کار نمی کند ( b/123022772 )
نسخه 1.1.0-alpha02
17 دسامبر 2018
لطفاً راهنمای تنظیمات و نمونه برنامه اخیراً به روز شده را نیز بررسی کنید.
ویژگی های جدید
رابط
EditTextPreference.OnBindEditTextListener
اضافه شد. این امکان سفارشی کردن EditText نمایش داده شده در گفتگوی مربوطه را پس از بسته شدن گفتگو فراهم می کند. به عنوان مثال، تنظیم نوع / طول ورودی سفارشی یا افزودن TextWatcher.Preference.setCopyingEnabled()
اضافه شد وقتی تنظیم شد، با فشار طولانی روی Preference، یک منوی زمینه نمایش داده می شود که امکان کپی کردن خلاصه Preference را فراهم می کند. این می تواند برای کپی کردن اطلاعات ثابت مانند شناسه های خاص کاربر / اطلاعات نسخه برنامه استفاده شود.preferenceTheme اکنون به موضوع فعالیت اعمال میشود، این بدان معناست که هنگام ایجاد یک Preference از کد، دیگر نیازی به استفاده از زمینه از
PreferenceManager#getContext()
ندارید - فقط میتوانید از Fragment/Activity زمینه خود استفاده کنید.
API تغییر می کند
- Refactored
findPreference()
برای برگرداندن<T extends Preference>
این بدان معنی است که هنگام استفاده از findPreference () نیازی به ارسال صریح Preferences ندارید. به عنوان مثال،EditTextPreference preference = findPreference(“edit_text”)
اکنون کد معتبر است.
نسخه 1.1.0-alpha01
5 نوامبر 2018
ویژگی های جدید
- اکنون می توانید یک SummaryProvider را روی یک Preference تنظیم کنید تا هر زمان که Preference به روز می شود یا برای کاربر قابل مشاهده است، خلاصه آن را به صورت پویا پیکربندی کند.
- اجرای SummaryProvider پیشفرض برای ListPreference و EditTextPreference اضافه شده است، که وقتی تنظیم شود بهطور خودکار خلاصه Preference را بهروزرسانی میکند تا مقدار ذخیرهشده آن را منعکس کند، یا اگر مقداری ذخیره نشده باشد، «Not Set» را بهروزرسانی میکند. اینها را می توان با برنامه تنظیم کرد:useSimpleSummaryProvider=”true”
- PreferenceGroup#removePreferenceRecursively اضافه شد که به صورت بازگشتی یک Preference را از گروه یا یک گروه تودرتو در پایینتر سلسله مراتب پیدا کرده و حذف میکند.
API تغییر می کند
- PreferenceFragment و کلاس های دیگر با استفاده از Fragment ها منسوخ شده اند - به جای آن باید از PreferenceFragmentCompat و سایر کلاس های compat استفاده کنید.
رفع اشکال
- رفع مشکل iconSpaceReserved که به درستی با PreferenceCategories کار نمی کند.
- رفع PreferenceCategories که از colorAccent برای رنگ عنوان خود در زیر API 21 استفاده نمی کنند.
- برخی از تناقضات طرحبندی SeekBarPreference در زیر API 21 رفع شد.