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 birComponentDialog
içinde veya Parça'nınContext
öğesini sarmalayan Hilt'in@AndroidEntryPoint
gibi 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.extras
değerini artıkFragment
bağı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
PreferenceHeaderFragmentCompat
eklendi. 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:fragment
değ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
@NonNull
veya@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
,OnNavigateToScreenListener
veOnDisplayPreferenceDialogListener
arayü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
@NonNull
veya@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ı:
OnNavigateToScreenListener
veOnDisplayPreferenceDialogListener
artıkOnPreferenceTreeClickListener
ile 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
PreferenceHeaderFragmentCompat
eklendi (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.
PreferenceFragmentCompat
tarafındanonPreferenceTreeClick
için yapılan çağrı, Etkinlik uygulamasını değerlendirmeden önce artık üst parçalardakiOnPreferenceStartFragmentCallback
arayü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
PreferenceDialogFragmentCompat
artık XML'deFragmentContainerView
şişirilirkenIllegalStateException
. (b/150051716)
Bağımlılık güncellemeleri
- Tercih artık
1.2.4
Parça'ya bağlıdır. (aosp/1277317) preference-ktx
bağımlılığı artıkandroidx.core:core-ktx:1.1.0
veandroidx.fragment:fragment-ktx:1.2.4
bağımlılığına bağlıdır. Anapreference
yapısının bağımlılıklarını yansıtır vepreference-ktx
yükseltmesinin, geçişli bağımlılıkların hem ana hem de-ktx
yapı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
PreferenceFragment
ve Fragments çerçevelerini kullanan diğer sınıflar için destek sonlandırıldı; bunun yerinePreferenceFragmentCompat
ve 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
SummaryProvider
ayarlayabilirsiniz. Daha fazla bilgi için kılavuza bakın. EditTextPreference.OnBindEditTextListener
arayü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:inputType
gibi ö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. SeekBarPreference
stili, Materyal özelliklerine uyacak şekilde güncellendi.SeekBarPreference
ile 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.OnBindEditTextListener
arayü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.OnBindEditTextListener
arayü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.