Tercih
| Son Güncelleme | Kararlı Sürüm | Yayın Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 26 Temmuz 2023 | 1.2.1 | - | - | - |
Bağımlılıkları bildirme
Preference'e bağımlılık eklemek için belirler. Google'ın Maven deposunu okuyun konulu videomuzu izleyin.
build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin.
uygulamanız veya modülünüz:
Eski
dependencies { def preference_version = "1.2.1" // Java language implementation implementation "androidx.preference:preference:$preference_version" // Kotlin implementation "androidx.preference:preference-ktx:$preference_version" }
Kotlin
dependencies { val preference_version = "1.2.1" // Java language implementation implementation("androidx.preference:preference:$preference_version") // Kotlin implementation("androidx.preference:preference-ktx:$preference_version") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlarla karşılaşırsanız veya fikir edinebilirsiniz. Daha fazla bilgi için lütfen mevcut sorunlar tıklayın. Oyunuzu mevcut bir soruna eklemek için yıldız düğmesini tıklayın.
Sorun İzleyici dokümanlarına bakın konulu videomuzu izleyin.
Sürüm 1.2
Sürüm 1.2.1
26 Temmuz 2023
androidx.preference:preference:1.2.1 yayınlandı. Sürüm 1.2.1 bu kaydetmeleri içerir.
Hata Düzeltmeleri
PreferenceHeaderFragmentCompat, artık birComponentDialogiçinde veya Parça'nınContextöğesini sarmalayan Hilt'in@AndroidEntryPointgibi kitaplıkları kullanırken sistem geri düğmesini doğru şekilde işliyor.- Şu an tercihler, Etkinlik 1.5.1'e bağlıdır. (Ie5d22)
PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment,header.extrasdeğerini artıkFragmentbağımsız değişkenleri olarak yayıyor.
Sürüm 1.2.0
26 Ocak 2022
androidx.preference:preference:1.2.0 ve androidx.preference:preference-ktx:1.2.0 serbest bırakıldı. 1.2.0 sürümü bu kaydetmeleri içerir.
1.1.0'dan bu yana önemli değişiklikler
- İki bölmeli tercih için
PreferenceHeaderFragmentCompateklendi. Bu seçenek, kullanılan cihazın boyutuna göre otomatik olarak uyarlanarak telefon, katlanabilir cihaz ve tabletlerde kullanılmaya uygun hale getirilir. Üstbilgi bölmesi,PreferenceHeaderFragmentCompatüzerindeonCreatePreferenceHeader()yöntemi geçersiz kılınarak sağlanır.PreferenceFragmentCompatüstbilgisinde bulunan veapp:fragmentdeğerini kullanan herhangi bir<Preference>, bu parçanın ikinci ayrıntı bölmesinde görünmesine neden olur. Herhangi bir tercih manuel olarak seçilmeden önce gösterilmesi gereken ilk ayrıntı parçası,onCreateInitialDetailFragment()geçersiz kılınarak özelleştirilebilir. Varsayılan uygulama, üzerinde tanımlı bir parçaya sahip ilk tercihi döndürür.
class TwoPanePreference : PreferenceHeaderFragmentCompat() {
override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
return PreferenceHeader()
}
}
Çoğu öğeye null değer ek açıklaması ekledi Daha önce
@NonNullveya@Nullable. Kotlin kodunuzda seçtiğiniz null değer, şu anda tanımlanmış olan null değer ile eşleşmediyse bu, Kotlin kaynağında değişiklik yapma olasılığı olan bir değişikliktir.PreferenceFragmentCompat, artık barındırıldığı Bağlam veya Etkinliğin bu arayüzleri uygulayıp uygulamadığına bakmadan önce üst parçalardakiOnPreferenceStartFragmentCallback,OnNavigateToScreenListenerveOnDisplayPreferenceDialogListenerarayüzlerine bakıyor.
Sürüm 1.2.0-rc01
15 Aralık 2021
androidx.preference:preference:1.2.0-rc01 ve androidx.preference:preference-ktx:1.2.0-rc01, 1.2.0-beta01 tarihinden bu yana hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.2.0-beta01
17 Kasım 2021
androidx.preference:preference:1.2.0-beta01 ve androidx.preference:preference-ktx:1.2.0-beta01, Tercih 1.2.0-alpha02'de herhangi bir değişiklik yapılmadan yayınlanmıştır. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.
Sürüm 1.2.0-alpha02
3 Kasım 2021
androidx.preference:preference:1.2.0-alpha02 ve androidx.preference:preference-ktx:1.2.0-alpha02 serbest bırakıldı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Çoğu öğeye null değer ek açıklaması ekledi
Daha önce
@NonNullveya@Nullable. (I04252, Ie2cc0) openPreference()API, şuradan kaldırıldı:PreferenceHeaderFragmentCompat- Bu yöntem ve manuel olarak aranmamalıdır. (Ia6989)
Davranış Değişiklikleri
- Şunun için PreferenceFragmentCompat geri aramaları:
OnNavigateToScreenListenerveOnDisplayPreferenceDialogListenerartıkOnPreferenceTreeClickListenerile aynı kalıp ve geçerli öğe için üst parça hiyerarşisini arayın kontrol etmeye başlamadan önce Bağlam veya Etkinlik bu arayüzleri uygular. (I7ae6c)
Sürüm 1.2.0-alpha01
27 Ekim 2021
androidx.preference:preference:1.2.0-alpha01 ve androidx.preference:preference-ktx:1.2.0-alpha01 serbest bırakıldı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.
Yeni Özellikler
- İki bölmeli tercih için
PreferenceHeaderFragmentCompateklendi (I9a2d8)
Davranış Değişiklikleri
OnPreferenceDisplayDialogCallback, OnPreferenceStartScreenCallback ve OnPreferenceStartFragmentCallback için tercih geri çağırmaları artık Etkinlik olmayan bir Bağlamda uygulanabilir. getActivity() işlevini kontrol etmeden önce, bu geri çağırmaları uygulayıp uygulamadığını görmek için getContext() kontrol edilir. getContext() bir Etkinlik döndürürse (genel durum) herhangi bir davranış değişikliği olmaz.
PreferenceFragmentCompattarafındanonPreferenceTreeClickiçin yapılan çağrı, Etkinlik uygulamasını değerlendirmeden önce artık üst parçalardakiOnPreferenceStartFragmentCallbackarayüzünün uygulamalarını araştırıyor. (c64eed)
Sürüm 1.1
Sürüm 1.1.1
15 Nisan 2020
androidx.preference:preference:1.1.1 ve androidx.preference:preference-ktx:1.1.1 serbest bırakıldı. Sürüm 1.1.1 bu kaydetmeleri içerir.
Hata Düzeltmeleri
PreferenceDialogFragmentCompatartık XML'deFragmentContainerViewşişirilirkenIllegalStateException. (b/150051716)
Bağımlılık güncellemeleri
- Tercih artık
1.2.4Parça'ya bağlıdır. (aosp/1277317) preference-ktxbağımlılığı artıkandroidx.core:core-ktx:1.1.0veandroidx.fragment:fragment-ktx:1.2.4bağımlılığına bağlıdır. Anapreferenceyapısının bağımlılıklarını yansıtır vepreference-ktxyükseltmesinin, geçişli bağımlılıkların hem ana hem de-ktxyapılarını güncellemesini sağlar. (aosp/1277319)
Sürüm 1.1.0
5 Eylül 2019
androidx.preference:preference:1.1.0 ve androidx.preference:preference-ktx:1.1.0 serbest bırakıldı. Bu sürümdeki kaydetmelere buradan ulaşabilirsiniz.
Bu, güncelleme yaptığınız ilk 1.1.* sürümüyse son kararlı sürümden (1.0.0) bu yana yapılan önemli değişikliklerin kısa bir listesini aşağıda bulabilirsiniz. Ayrıca Ayarlar rehberini, örnek uygulamayı ve Android Dev Summit konuşmasını da yararlı bulabilirsiniz.
1.0.0'dan bu yana önemli değişiklikler
PreferenceFragmentve Fragments çerçevelerini kullanan diğer sınıflar için destek sonlandırıldı; bunun yerinePreferenceFragmentCompatve diğer *uyumlu sınıfları kullanmalısınız.- Artık Tercih güncellendiğinde veya kullanıcı tarafından görülebildiğinde özetini dinamik olarak yapılandırmak için Tercih için bir
SummaryProviderayarlayabilirsiniz. Daha fazla bilgi için kılavuza bakın. EditTextPreference.OnBindEditTextListenerarayüzü eklendi. Bu, iletişim kutusu bağlandıktan sonra ilgili iletişim kutusunda görüntülenenEditTextöğesinin özelleştirilmesine olanak tanır. Bu, AndroidX kitaplığında desteklenmeyenandroid:inputTypegibi özellikleri doğrudanEditTextPreferenceüzerinde kullanmanın doğrudan alternatifidir. Daha fazla bilgi için kılavuza bakın.- Eklendi:
Preference.setCopyingEnabled()Ayarlandığında, Tercih üzerine uzun basıldığında, Tercih özetinin kopyalanmasına olanak tanıyan bir içerik menüsü gösterilir. SeekBarPreferencestili, Materyal özelliklerine uyacak şekilde güncellendi.SeekBarPreferenceile ilgili diğer değişiklikler için ayrıntılı değişiklik günlüğünü inceleyin.- Çok sayıda hata düzeltmesi, stil güncellemeleri, API düzeyi uyumluluk düzeltmeleri ve genel QOL iyileştirmeleri.
Sürüm 1.1.0-rc01
2 Temmuz 2019
androidx.preference:preference:1.1.0-rc01 ve androidx.preference:preference-ktx:1.1.0-rc01 serbest bırakıldı. Bu sürümdeki kaydetmelere buradan ulaşabilirsiniz.
API değişiklikleri
Preference#onInitializeAccessibilityNodeInfoöğesini kullanımdan kaldırın- Bu yöntem, belirli bir Tercih için erişilebilirlik düğümü bilgisine proxy uyguladı ancak bu, bu özelleştirme için yanlış katmandır. Erişilebilirlik bilgilerini ayarlamak istiyorsanız bunun yerine onBindViewHolder'ı geçersiz kılmanız ve erişilebilirlik bilgilerini doğrudan görünüme eklemeniz gerekir.
Sürüm 1.1.0-beta01
5 Haziran 2019
androidx.preference:preference:1.1.0-beta01 ve androidx.preference:preference-ktx:1.1.0-beta01 serbest bırakıldı. Bu sürümdeki kaydetmelere buradan ulaşabilirsiniz.
1.1.0'dan bu yana önemli değişiklikler
Güncelleme yaptığınız ilk 1.1.* sürümüyse son kararlı sürüm olan 1.1.0'dan bu yana yapılan en büyük değişikliklerin kısa listesini aşağıda bulabilirsiniz. Ayrıca Ayarlar rehberini, örnek uygulamayı ve Android Dev Summit konuşmasını da yararlı bulabilirsiniz.
- PreferenceFragment ve Fragment çerçevelerini kullanan diğer sınıflar kullanımdan kaldırılmıştır. Bunun yerine PreferenceFragmentCompat ve diğer *compat sınıfları kullanmanız gerekir.
- Artık Tercih güncellendiğinde veya kullanıcı tarafından görülebildiğinde özetini dinamik olarak yapılandırmak için Preference için bir SummaryProvider ayarlayabilirsiniz. Daha fazla bilgi için kılavuza bakın.
EditTextPreference.OnBindEditTextListenerarayüzü eklendi. Bu, iletişim kutusu bağlandıktan sonra ilgili iletişim kutusunda görüntülenen EditText'in özelleştirilmesine olanak tanır. Bu, Android:inputType gibi özellikleri doğrudan EditTextPreference üzerinde kullanmanın doğrudan yerine geçer. Bu özellik, AndroidX kitaplığında desteklenmez. Daha fazla bilgi için kılavuza bakın.- Eklendi:
Preference.setCopyingEnabled()Ayarlandığında, Tercih üzerine uzun basıldığında, Tercih özetinin kopyalanmasına olanak tanıyan bir içerik menüsü gösterilir. - SeekBarPreference stili, Materyal özelliklerine uygun şekilde güncellendi. SeekBarPreference'ta yapılan diğer değişiklikler için ayrıntılı değişiklik günlüğüne bakın.
- Çok sayıda hata düzeltmesi, stil güncellemeleri, API düzeyi uyumluluk düzeltmeleri ve genel QOL iyileştirmeleri.
1.1.0-alpha05'ten bu yana API değişiklikleri
- getOnBindEditTextListener öğesini genel API'den kaldırır. Bu API ile etkileşimde bulunurken yalnızca setOnBindEditTextListener öğesini kullanmanız gerekir.
Herhangi bir sorunla karşılaşırsanız veya yeni özellik önerileriniz varsa lütfen hataları buradan bildirin!
Sürüm 1.1.0-alpha05
7 Mayıs 2019
androidx.preference:preference:1.1.0-alpha05 ve androidx.preference:preference-ktx:1.1.0-alpha05 serbest bırakıldı. Bu sürümdeki kaydetmelere buradan ulaşabilirsiniz.
Yeni özellikler
- Seçilemeyen Tercihler için stil güncellendi. Başlık ve özet, etkileşimde bulunulamayacağını ve yalnızca bilgi görüntülemek için kullanıldığının anlaşılması için artık aynı renkte kullanılıyor.
- Not: Seçilemez Tercihler bölümüne
enableCopying="true"öğesini ekleyerek özeti kopyalayabilirsiniz.
Hata düzeltmeleri
- PreferenceCategory ve diğer seçilemeyen diğer Tercihler'in seçildiğinde dalga etkisine sahip olacağı regresyon düzeltildi
- TalkBack'in DropDownPreference'ı tıklanabilir olarak görmemesine neden olan erişilebilirlik sorunu düzeltildi
- Sağdan sola düzeniyle ilgili bazı sorunlar giderildi
- PreferenceFragmentCompat'taki bazı null ek açıklamalar, Fragment ile eşleşecek şekilde güncellendi
Sürüm 1.1.0-alpha04
13 Mart 2019
androidx.preference:preference:1.1.0-alpha04 ve androidx.preference:preference-ktx:1.1.0-alpha04 serbest bırakıldı. Bu sürüme dahil edilen taahhütlerin tam listesini burada bulabilirsiniz.
Yeni özellikler
SeekBarPreference güncellemesi!
- Stil, Materyal Özellikleri ile eşleşecek şekilde güncellendi
- Değer etiketi artık varsayılan olarak gizleniyor ancak
app:showSeekBarValue="true"veyasetShowSeekBarValue(true)ile gösterilmeye devam ediyor. Bu etiket, Materyal spesifikasyonunun bir parçası değildir, ancak yoğun bir şekilde kullanıldığını anlıyor ve bu etiketi kullanmanızı önermesek de desteklemeye devam edeceğiz. - Değer etiketi artık Arama Çubuğu bırakıldığında değil, sürüklenirken güncelleniyor. Bunun, değerin dahili olarak güncelleneceği anlamına gelmediğini unutmayın. Bu işlevi etkinleştiren yeni bir API için aşağıya bakın.
- Not: Desteklenmesine rağmen SeekBarPreference ile ilgili özet ayarlamaktan kaçınmalısınız. Çünkü bu, malzeme spesifikasyonunun bir parçası değildir ve kasten değildir.
- Değer etiketi artık varsayılan olarak gizleniyor ancak
- Sürekli güncelleme desteği sağlayarak SeekBar'ın, arama çubuğu sürüklenirken kaydedilen değerini güncellemesine olanak tanır. Bu, XML üzerinden veya programatik olarak
app:updatesContinuously="true"ya dasetUpdatesContinuously(true)ile etkinleştirilebilir. Bu, SeekBar'ın ekrandaki konumu değiştiğinde etkinleşir.
API değişiklikleri
- Eksik null değer ek açıklamalarını
findPreference()öğesine ekler
Hata düzeltmeleri
- Kopyalama etkinleştirilmezse içerik menüsü işleyicilerinin doğru şekilde kaldırılmamasına neden olan hata düzeltildi.
Sürüm 1.1.0-alpha03
7 Şubat 2019
androidx.preference:tercih 1.1.0-alfa03
androidx.preference:preference 1.1.0-alpha03 ve
androidx.preference:preference-ktx 1.1.0-alpha03
uyarlayabilirsiniz.
Hata düzeltmeleri
- EditTextPreference’in iletişim kutusunda bazen kopyalama/yapıştırma pop-up'ının gösterilmemesine neden olan sorun düzeltildi
- Temel bağdaştırıcının kaydının düzgün şekilde iptal edilmemesine neden olan ve belirli koşullarda bellek sızıntılarına neden olan sorun düzeltildi (b/121006469)
- Yapılandırma değişikliği sırasında iletişim kutusuyla ilgili olarak meydana gelen bazı kilitlenmeler düzeltildi (b/122167543)
- SummaryProvider'ın MultiSelectListPreference için çalışmaması sorunu düzeltildi (b/123022772)
Sürüm 1.1.0-alpha02
17 Aralık 2018
Ayrıca lütfen kısa süre önce güncellenen Ayarlar rehberi ve örnek uygulamasını indirin.
Yeni özellikler
EditTextPreference.OnBindEditTextListenerarayüzü eklendi Bu, iletişim kutusunu açar. Örneğin, giriş türünü / uzunluğunu veya TextWatcher ekleme yöntemini kullanabilirsiniz.Preference.setCopyingEnabled()eklendi Ayarlandığında, Tercih üzerine uzun süre basıldığında Tercih özetinin kopyalanmasına olanak tanıyan bir içerik menüsü gösterilir. Bu, kullanıcıya özel kimlikler / uygulama sürümü bilgileri gibi statik bilgilerin kopyalanmasına olanak tanımak için kullanılabilir.tercihleri artık etkinlik temasına uygulandı Diğer bir deyişle, koddan Tercih oluştururken artık
PreferenceManager#getContext()kaynağındaki bağlamı kullanmanız gerekmez. Yalnızca Parça/Etkinlik bağlamını kullanabilirsiniz.
API değişiklikleri
<T extends Preference>değerini döndürmek içinfindPreference()yeniden düzenlendi Bu, findPreference() kullanılırken Tercihler'i açık bir şekilde yayınlamanıza gerek olmadığı anlamına gelir. Örneğin,EditTextPreference preference = findPreference(“edit_text”)artık geçerli bir koddur.
Sürüm 1.1.0-alpha01
5 Kasım 2018
Yeni özellikler
- Artık Özet Sağlayıcısı'nı dinamik olarak yapılandırmak için bir Tercih'e özet şeklinde görünür.
- ListPreference ve EditTextPreference, bu ayar belirlendiğinde özetin otomatik olarak güncellenmesini sağlar. Kayıtlı değeri yansıtmayı tercih edebilir veya herhangi bir değer kaydedilmemişse "Belirlenmedi"yi tercih edebilirsiniz. Bunlar app:useSimpleSummaryProvider=”true” ile ayarlanabilir.
- Tekrarlayan olarak bulup gönderen ve veya reklam öğesi grubunun altında bulunan iç içe yerleştirilmiş bir grubu gruptan kaldırır hiyerarşik olarak düzenlenmiştir.
API değişiklikleri
- PreferenceFragment ve çerçeve Fragments kullanan diğer sınıflar desteği sonlandırıldı; PreferenceFragmentCompat ve diğer uyumlu sınıfları kullanmanız gerekir. .
Hata düzeltmeleri
- iconSpaceReserve'in PreferenceCategory ile düzgün çalışmaması sorunu düzeltildi.
- Başlık rengi için colorAccent kullanmayan PreferenceCategory politikası düzeltildi API 21'den daha düşük bir değerdir.
- API 21'in altındaki SeekBarPreference düzen tutarsızlıklarından bazıları düzeltildi.