Tercih
Son Güncelleme | Kararlı Sürüm | Serbest Bırakma Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
26 Temmuz 2023 | 1.2.1 | - | - | - |
Bağımlılıkları bildirme
Preference (Tercih) için bir bağımlılık eklemek üzere projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle
dosyasına ihtiyaç duyduğunuz yapıların bağımlılıklarını ekleyin:
Modern
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 bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
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 kayıtları içerir.
Hata Düzeltmeleri
PreferenceHeaderFragmentCompat
artık birComponentDialog
içinde veya Fragment'ınContext
öğesini saran Hilt@AndroidEntryPoint
gibi kitaplıklar kullanırken sistem geri düğmesini düzgün şekilde işliyor.- Bu tercih artık Etkinlik 1.5.1'e bağlıdır. (Ie5d22)
PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment
artıkheader.extras
bağımsız değişkenleriniFragment
bağımsız değişkenleri olarak yayar.
Sürüm 1.2.0
26 Ocak 2022
androidx.preference:preference:1.2.0
ve androidx.preference:preference-ktx:1.2.0
yayınlandı. 1.2.0 sürümü bu kayıtları içerir.
1.1.0 sürümünden sonraki önemli değişiklikler
- Kullanılan cihazın boyutuna göre otomatik olarak uyum sağlayan iki bölmeli tercih için
PreferenceHeaderFragmentCompat
eklendi. Böylece telefonlar, katlanabilir cihazlar ve tabletlerde kullanıma uygun hale geldi. Başlık bölmesi,PreferenceHeaderFragmentCompat
üzerindeonCreatePreferenceHeader()
yönteminin geçersiz kılınmasıyla sağlanır.PreferenceFragmentCompat
üstbilgisindeapp:fragment
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ılarak özelleştirilebilir. Varsayılan uygulama, üzerinde tanımlanmış bir parça bulunan ilk tercihi döndürür.
class TwoPanePreference : PreferenceHeaderFragmentCompat() {
override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
return PreferenceHeader()
}
}
Daha önce
@NonNull
veya@Nullable
belirtilmeyen API'lerin çoğuna null değer ek açıklamaları eklendi. Kotlin kodunuzda seçtiğiniz null değer, şu anda tanımlanan null durumuyla eşleşmediğinde bu, Kotlin kaynağında bozulma yaşanabilecek bir değişiklik olabilir.PreferenceFragmentCompat
şimdi, barındıran Bağlam veya Etkinlik'in bu arayüzleri uygulayıp uygulamadığını görmek için üst parçalardaOnPreferenceStartFragmentCallback
,OnNavigateToScreenListener
veOnDisplayPreferenceDialogListener
arayüzlerinin uygulamalarını arı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 herhangi bir değişiklik olmadan yayınlandı. Sürüm 1.2.0-rc01 bu kayıtları 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 olmadan kullanıma sunulmuştur. Sürüm 1.2.0-beta01 bu kayıtları 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
yayınlandı. Sürüm 1.2.0-alpha02 bu kaydetmeleri içerir.
API Değişiklikleri
- Daha önce
@NonNull
veya@Nullable
belirtilmeyen API'lerin çoğuna null değer ek açıklamaları eklendi. (I04252, Ie2cc0) openPreference()
API,PreferenceHeaderFragmentCompat
öğesinden kaldırıldı. Bu yöntem sizin için sunulmuştur ve manuel olarak çağrılmamalıdır. (Ia6989)
Davranış Değişiklikleri
OnNavigateToScreenListener
veOnDisplayPreferenceDialogListener
için PreferenceFragmentCompat geri çağırmaları artıkOnPreferenceTreeClickListener
ile aynı kalıbı izliyor ve barındırma Bağlamı veya Etkinliğinin bu arayüzleri uygulayıp uygulamadığını kontrol etmeden önce geçerli işleyiciler için üst parça hiyerarşisini araştırın. (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
yayınlandı. Sürüm 1.2.0-alpha01 bu kayıtları 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. getContext(), getActivity() kontrolünden önce bu geri çağırmaları uygulayıp uygulamadığı için getContext() kontrol edilir. getContext() bir Etkinlik döndürürse (sık karşılaşılan durum) bu durumda herhangi bir davranış değişikliği olmaz.
PreferenceFragmentCompat
tarafından yapılanonPreferenceTreeClick
çağrısı, artık etkinliğin uygulamasını dikkate almadan önce üst parçalardaOnPreferenceStartFragmentCallback
arayüzünün uygulamalarını arar. (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
yayınlandı. Sürüm 1.1.1 bu kayıtları içerir.
Hata Düzeltmeleri
PreferenceDialogFragmentCompat
, XML'denFragmentContainerView
şişirirken artıkIllegalStateException
hatası vermeyecek. (b/150051716)
Bağımlılık güncellemeleri
- Tercih artık Parçaya
1.2.4
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
ürünlerine bağlıdır. Bu sayede, anapreference
yapısının bağımlılıkları yansıtılır vepreference-ktx
yükseltildiğinde geçişli bağımlılıkların hem ana hem de-ktx
yapılarının güncellenmesi sağlanır. (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
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
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 daha büyük değişikliklerin kısa bir listesini burada bulabilirsiniz. Ayarlar rehberi, örnek uygulama ve Android Dev Summit konuşması da sizin için yararlı olabilir.
1.0.0 sürümünden sonraki önemli değişiklikler
PreferenceFragment
ve çerçeve parçalarını kullanan diğer sınıfların desteği sonlandırıldı. Bunun yerinePreferenceFragmentCompat
ve diğer *uyumlu sınıfları kullanmalısınız.- Artık bir Tercih güncellendiğinde veya kullanıcı tarafından görünür hale geldiğinde, özetini dinamik olarak yapılandırmak için Tercih'te
SummaryProvider
ayarlayabilirsiniz. Daha fazla bilgi için kılavuzu inceleyin. EditTextPreference.OnBindEditTextListener
arayüzü eklendi. Bu, iletişim kutusu bağlandıktan sonra ilgili iletişim kutusunda görüntülenenEditText
öğesinin özelleştirilmesini sağlar. Bu, AndroidX kitaplığında desteklenmeyenandroid:inputType
gibi özelliklerin doğrudanEditTextPreference
'da kullanılmasının doğrudan yerine geçiyor. Daha fazla bilgi için kılavuzu inceleyin.Preference.setCopyingEnabled()
Eklendi: Ayarlandığında, Tercih seçeneğine uzun basıldığında Tercih özetinin kopyalanmasına izin veren 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 hizmet kalitesi 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
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
API değişiklikleri
Preference#onInitializeAccessibilityNodeInfo
öğesini kullanımdan kaldırın- Bu yöntem, belirli bir Tercih için erişilebilirlik düğümü bilgileri için proxy kullanıyordu. Ancak bu, söz konusu özelleştirme için yanlış katmandır. Erişilebilirlik bilgilerini ayarlamak isterseniz bunun yerine onBindViewHolder'ı geçersiz kılıp 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
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
1.1.0 sürümünden sonraki önemli değişiklikler
Bu, 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 daha büyük değişikliklerin kısa bir listesini burada bulabilirsiniz. Ayarlar rehberi, örnek uygulama ve Android Dev Summit konuşması da sizin için yararlı olabilir.
- PreferenceFragment ve çerçeve Fragment'larını kullanan diğer sınıfların desteği sonlandırıldı. Bunun yerine PreferenceFragmentCompat ve diğer *uyumlu sınıfları kullanmalısınız.
- Artık bir Tercih güncellendiğinde veya kullanıcı tarafından görülebildiğinde özetini dinamik olarak yapılandırmak için bir Tercih'te bir ÖzetSağlayıcı ayarlayabilirsiniz. Daha fazla bilgi için kılavuzu inceleyin.
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 özellik, android:inputType gibi özelliklerin doğrudan EditTextPreference'da kullanılması yerine, AndroidX kitaplığında desteklenmeyen bir alternatiftir. Daha fazla bilgi için kılavuzu inceleyin.Preference.setCopyingEnabled()
Eklendi: Ayarlandığında, Tercih seçeneğine uzun basıldığında Tercih özetinin kopyalanmasına izin veren bir içerik menüsü gösterilir.- SeekBarPreference stili, Materyal özellikleriyle eşleşecek ş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 hizmet kalitesi iyileştirmeleri.
1.1.0-alpha05 sürümünden beri API değişiklikleri
- getOnBindEditTextListener aracını genel API'den kaldırır. Bu API ile etkileşim kurarken 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
yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.
Yeni özellikler
- Seçilemeyen Tercihler için stil güncellendi. Başlık ve özet, bunlarla etkileşimin mümkün olmadığını ve yalnızca bilgileri görüntülemek için kullanıldığını netleştirmek amacıyla artık aynı rengi kullanıyor.
- Not: Seçilemeyen Tercihler bölümüne
enableCopying="true"
eklemeyi düşünebilirsiniz. Böylece özeti kopyalamak için uzun basabilirsiniz.
Hata düzeltmeleri
- PreferenceCategory ve seçilemeyen diğer Tercihler'in seçildiğinde dalga etkisi olması şeklinde ortaya çıkan bir regresyon düzeltildi
- TalkBack'in DropDownPreference'yı tıklanabilir olarak görmemesine neden olan erişilebilirlik sorunu düzeltildi
- RTL düzeniyle ilgili bazı sorunlar düzeltildi
- PreferenceFragmentCompat öğesindeki bazı boş 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
yayınlandı. Bu sürüme dahil edilen kaydetmelerin tam listesini burada bulabilirsiniz.
Yeni özellikler
SeekBarPreference
güncellemesi!
- Stil, Materyal Spesifikasyonlarla eşleşecek şekilde güncellendi
- Değer etiketi artık varsayılan olarak gizlidir ancak
app:showSeekBarValue="true"
veyasetShowSeekBarValue(true)
ile gösterilmeye devam edebilir. Bu etiket, Materyal spesifikasyonunun bir parçası değildir ancak yoğun şekilde kullanıldığının farkındayız. Bu nedenle, bu etiketi kullanmanızı önermesek de desteklemeye devam edeceğiz. - Değer etiketi artık SeekBar serbest bırakıldığında değil, sürüklenirken güncellenir. Bunun, değerin dahili olarak güncellendiğ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 bir özet ayarlamamaktan kaçınmalısınız. Çünkü bu özet tasarlanmamıştır ve Materyal özelliklerinin bir parçası değildir.
- Değer etiketi artık varsayılan olarak gizlidir ancak
- Sürekli güncellemeler için destek ekleyerek SeekBar'ın, SeekBar sürüklenirken kaydedilen değerini güncellemesine olanak tanır. Bu özellik, XML aracılığıyla ya da
app:updatesContinuously="true"
veyasetUpdatesContinuously(true)
ile programatik olarak etkinleştirilebilir. Bu ayar, SeekBar'ın ekrandaki konumu her 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 etkin olmadığında içerik menüsü işleyicilerin doğru şekilde kaldırılmamasına neden olan hata düzeltildi.
Sürüm 1.1.0-alpha03
7 Şubat 2019
androidx.preference:preference 1.1.0-alpha03
androidx.preference:preference 1.1.0-alpha03
ve
androidx.preference:preference-ktx 1.1.0-alpha03
aşağıdaki değişikliklerle birlikte kullanıma sunuldu.
Hata düzeltmeleri
- Kopyalama/yapıştırma pop-up'ının bazen EditTextPreference'nın iletişim kutusunda gösterilmemesine neden olan sorun düzeltildi.
- Temel adaptörün kaydının doğru şekilde silinmemesi ve belirli koşullar altında bellek sızıntılarına neden olması sorunu düzeltildi (b/121006469)
- Yapılandırma değişikliği sırasında iletişim kutusuyla ilgili bazı kilitlenmeler düzeltildi (b/122167543)
- MultipleSelectListPreference için çalışmama sorunu düzeltildi (b/123022772)
Sürüm 1.1.0-alpha02
17 Aralık 2018
Lütfen kısa süre önce güncellenen Ayarlar kılavuzuna ve örnek uygulamaya da göz atın.
Yeni özellikler
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. Örneğin, özel bir giriş türü / uzunluğu ayarlama veya bir TextWatcher ekleme.Eklendi
Preference.setCopyingEnabled()
Ayarlandığında, Tercih seçeneğine uzun basıldığında Tercih özetinin kopyalanmasına izin veren bir içerik menüsü gösterilir. Bu, kullanıcıya özel kimlikler / uygulama sürümü bilgileri gibi statik bilgilerin kopyalanmasına izin vermek için kullanılabilir.tercihTeması artık etkinlik temasına uygulandı Yani, koddan bir Tercih oluştururken artık
PreferenceManager#getContext()
bağlamını kullanmanıza gerek yoktur, yalnızca Parça/Etkinlik bağlamınızı kullanabilirsiniz.
API değişiklikleri
findPreference()
,<T extends Preference>
değerini döndürecek şekilde yeniden düzenlendi Bu, findPreference() kullanırken Tercihler'i açık bir şekilde yayınlamanız gerekmediği 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, Tercih güncellendiğinde veya kullanıcı tarafından görülebildiğinde özetini dinamik olarak yapılandırmak için bir Preference'da bir ÖzetSağlayıcı ayarlayabilirsiniz.
- ListPreference ve EditTextPreference için kullanılan varsayılan ÖzetProvider uygulamaları eklendi. Bu uygulamalar ayarlandığında, Tercih Özetini kaydedilen değerini yansıtacak şekilde otomatik olarak günceller veya hiçbir değer kaydedilmemişse "Belirlenmedi" ayarı kullanılır. Bunlar app:use SimpleSummaryProvider=”true” ile ayarlanabilir.
- Bir Tercihler'i yinelemeli olarak bulup gruptan veya hiyerarşide daha alt sıralarda yer alan iç içe yerleştirilmiş bir grubu kaldıran PreferenceGroup#removePreferenceRecursly eklendi.
API değişiklikleri
- PreferenceFragment ve çerçeve Fragment'larını kullanan diğer sınıflar kullanımdan kaldırılmıştır. Bunun yerine PreferenceFragmentCompat ve diğer uyumlu sınıfları kullanmalısınız.
Hata düzeltmeleri
- iconSpaceAyrılmış'ın PreferenceKategoriler ile doğru çalışmaması düzeltildi.
- API 21'in altındaki PreferenceCategory kategorilerinin, başlıklarının rengi için colorAccent kullanmaması düzeltildi.
- API 21'in altındaki bazı SeekBarPreference düzen tutarsızlıkları düzeltildi.