GörünümSayfası2
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 14 Mayıs 2024 | 1.1.0 | - | - | - |
AndroidX Bağımlılıkları
ViewPager2'ü kullanmak için projenizin build.gradle dosyasına aşağıdaki AndroidX bağımlılığını ekleyin:
Eski
dependencies { implementation "androidx.viewpager2:viewpager2:1.1.0" }
Kotlin
dependencies { implementation("androidx.viewpager2:viewpager2:1.1.0") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.1.0
1.1.0 sürümü
14 Mayıs 2024
androidx.viewpager2:viewpager2:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünden bu yana yapılan önemli değişiklikler
- RecyclerView
1.3.1-rc01veya daha yeni sürümlerle kullanıldığında kilitlenme sorunu düzeltildi. ViewPager2artık RecyclerView1.2.0-alpha02ve sonraki sürümlerin varsayılan olarak doldurmadığıCollectionInfoveCollectionItemInfoöğelerini doğru şekilde dolduruyor.FragmentStateAdapteriçinde gerçekleşen parça yaşam döngüsü değişikliklerini dinlemek içinFragmentTransactionCallbackarayüzü eklendi.FragmentManager'a bir parça eklenirken ilk parça menüsünün görünürlüğüyle ilgiliFragmentStateAdaptersorunu düzeltildi.- Pencere içe eklemelerinin dağıtımı düzeltildi: Artık tüm sayfalar aynı içe eklemeleri alıyor.
WindowInsetsürününün, eklerin eşdüzey görünümlerde kullanılabilmesini engelleyebilen eski API sürümlerinde (< API 30) nasıl dağıtıldığı nedeniyle < API 30 cihazlara ek eklemek istiyorsanızWindowInsetsApplier.install(viewPager2)aracılığıyla bu düzeltmeyi etkinleştirmeniz gerekir.
Sürüm 1.1.0-rc01
1 Mayıs 2024
androidx.viewpager2:viewpager2:1.1.0-rc01, 1.1.0-beta02 sürümünden bu yana önemli bir değişiklik içermeden yayınlanmıştır. 1.1.0-rc01 sürümü bu taahhütleri içerir.
Sürüm 1.1.0-beta02
24 Mayıs 2023
androidx.viewpager2:viewpager2:1.1.0-beta02 yayınlanır. 1.1.0-beta02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Geri çağırmaları
FragmentTransactionCallbacköğesine kaydeden Parça durumu eklendi. (I45b90) - Düzeltmenin kendisi
ViewPager2ürününün kardeşleri için zararlı olabileceği içinViewPager2artık eski API sürümlerinin bozukWindowInsetsdağıtımını düzeltmeye çalışmıyor. Düzeltme hâlâ kullanılabilir durumdadır ancak geliştiricilerin duruma göre karar vermesi için etkinleştirilmesi gerekir.WindowInsetsApplier.install(viewPager2))numaralı telefonu arayarak düzeltmeyi etkinleştirin. (Ic9a85)
Hata Düzeltmeleri
RecyclerView'ün yeni sürümleriyle ilgili uyumluluk sorunlarını düzeltin. BuViewPager2sürümünün kullanıcıları, en azRecyclerView1.3.1-rc01 sürümüne güncelleme yapmalıdır.
Sürüm 1.1.0-beta01
4 Ağustos 2021
androidx.viewpager2:viewpager2:1.1.0-beta01 yayınlanır. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
androidx'i Kotlin 1.4'ü kullanacak şekilde yükseltme (Id6471, b/165307851, b/165300826)
Tüm androidx kitaplıkları için Java 8'i hedeflemeye geçiş (2923f39)
Hata Düzeltmeleri
- Pencere içe eklemelerinin dağıtımı düzeltildi. Artık tüm sayfalar aynı içe eklemeleri alıyor. (I47fef)
Sürüm 1.1.0-alpha01
1 Nisan 2020
androidx.viewpager2:viewpager2:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.
Bu sürüm, RecyclerView'in artık varsayılan olarak sağlamadığı CollectionInfo ve CollectionItemInfo öğelerini doldurarak RecyclerView 1.2.0-alpha02'de bir değişiklikle birlikte sunulur. Erişilebilirlik gerilemelerini önlemek için RecyclerView 1.2.0-alpha02 sürümüne geçerken ViewPager2 sürümünü de güncelleyin.
Yeni Özellikler
FragmentStateAdapteriçinde gerçekleşen parça yaşam döngüsü değişikliklerini dinlemek içinFragmentTransactionCallbackarayüzü eklendi. (Ibda77)
Hata Düzeltmeleri
FragmentManager'a bir parça eklenirken ilk parça menüsünün görünürlüğüyle ilgiliFragmentStateAdaptersorunu düzeltildi. (I9d2ff, b/144442240)
Sürüm 1.0.0
Sürüm 1.0.0
20 Kasım 2019
androidx.viewpager2:viewpager2:1.0.0, 1.0.0-rc01'den itibaren herhangi bir değişiklik içermeden yayınlanmıştır. 1.0.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünün önemli özellikleri
- Önceki ViewPager uygulamasında yapılan iyileştirmeler:
- Sağdan sola düzen desteği
- Dikey yön desteği
- Güvenilir
Fragmentdesteği (temelFragmentkoleksiyonundaki değişikliklerin ele alınması dahil) - Veri kümesi değişiklik animasyonları (
DiffUtildesteği dahil)
- Önceki
ViewPageruygulamasından kolayca geçiş (mümkün olduğunda API eşleşmesi). Taşıma kılavuzuna ve örnek uygulamaya bakın.
Parçalar arasında kaydırma yapmak için ViewPager2 kullanma ile ilgili kılavuza bakın.
Sürüm 1.0.0-rc01
23 Ekim 2019
androidx.viewpager2:viewpager2:1.0.0-rc01, 1.0.0-beta05 tarihinden bu yana herhangi bir değişiklik içermeden yayınlandı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.0.0-beta05
9 Ekim 2019
androidx.viewpager2:viewpager2:1.0.0-beta05 yayınlanır. Sürüm 1.0.0-beta05 bu kaydetmeleri içerir.
Hata düzeltmeleri
- Sayfa değişikliğine neden olan ekran dışı bir sayfada bulunan
requestFocussorunu düzeltildi. Davranış artık orijinal ViewPager ile tutarlı. (b/140656866) - Sayfa değişikliğinden sonra ekran dışı bir sayfada kalan
focusiçin düzeltme yapıldı. Sayfa değiştirilirken artık odak temizlenir. (b/140656866) - Sayfayı değiştirirken
Fragmentduraklatma / devam ettirme işlemlerinin sıralanması için düzeltme (artık yenisine devam etmeden önce her zaman eski birincil öğeyi duraklatıyoruz). (b/139489059) canScrollHorizontally(int)vecanScrollVertically(int)için düzeltme yapıldı. Artık ViewPager2'nin belirtilen yönde kaydırılıp kaydırılamayacağı döndürülüyor. (b/141848404)- SwipeRefreshLayout'taki bir sorun, ViewPager2 ile daha iyi çalışacak şekilde düzeltildi.
Sürüm 1.0.0-beta04
5 Eylül 2019
androidx.viewpager2:viewpager2:1.0.0-beta04 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Hata düzeltmeleri
Fragmentgeri yığınıyla ilgiliFragmentStateAdapteruç durum sorunu düzeltildi. (b/139095195)- Yazarken/odaklandığında kaydırma/sayfa atlamasına neden olan belirli özellik yapılandırmalarına sahip
EditTextiçin düzeltme. (b/138044582, b/139432498) ItemDecorationörnekleri ile ilgili bir sorun için düzeltme ve kaydırma çubuğu konumlandırması için geçici çözüm. (b/139012032)- Diğer bileşenlerde
ViewPager2ile daha iyi çalışacak şekilde bir dizi sorun düzeltildi: RecyclerView, NestedScrollView ve Navigation.
Sürüm 1.0.0-beta03
7 Ağustos 2019
androidx.viewpager2:viewpager2:1.0.0-beta03 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Hata düzeltmeleri
- Geçici
Fragmentdurumuyla ilgiliFragmentStateAdaptersorunu için düzeltme. b/134246546 - Sorunsuz kaydırma sırasında bir veri kümesi değiştirildiğinde
currentItemvescrollStatesorunları için düzeltme (uç durumlar ele alındı). b/137642608 - Veri kümesi değişikliği animasyonlarıyla çakışan
PageTransformer(MarginPageTransformerdahil) animasyonlarıyla ilgili düzeltme. b/134658996 - Büyük veri kümelerinde sorunsuz kaydırma animasyonları (
floattam sayı değeri sınırı) için düzeltme. b/134858960
Sürüm 1.0.0-beta02
19 Temmuz 2019
androidx.viewpager2:viewpager2:1.0.0-beta02 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Hata düzeltmeleri
1.0.0-beta01sürümünde yanlışlıkla eklenen jacoco bağımlılığı kaldırıldı. (b/137782951)
Sürüm 1.0.0-beta01
17 Temmuz 2019
androidx.viewpager2:viewpager2:1.0.0-beta01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Hata düzeltmeleri
- Veri kümesini kaydırırken ve güncellerken
ViewPager2.updateCurrentItemkilitlenme sorununu düzeltme ViewPager2.isLayoutRtlile ilgiliNullPointerExceptionkilitlenme sorununu düzeltmeTOUCH_SLOP_PAGINGartık varsayılan dokunma kayması- Boş bağdaştırıcılar için
OnPageChangeCallbacketkinlikleri düzeltildi (ViewPager1ile eşleşme için-1yerine0sayfası)
Bilinen sorunlar
- Kararlı sürüme geçmeden önce açık kalan sorunlar üzerinde çalışmaya devam ediyoruz.
Sürüm 1.0.0-alpha06
2 Temmuz 2019
androidx.viewpager2:viewpager2:1.0.0-alpha06 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Bu, API'yi dondurmadan ve beta sürümüne geçmeden önce gerçekleştirmeyi planladığımız son alfa sürümü. Lütfen bize API ile ilgili geri bildirimde bulunun.
Yeni özellikler
- Geliştirilmiş Erişilebilirlik için Temel Bilgiler:
ACTION_PAGE_RIGHT,ACTION_PAGE_DOWNvb.
API değişiklikleri
FragmentStateAdapter: Birincil olmayanFragmentöğeleriSTARTEDile sınırlanmış,menuVisibilitydeğerleri ise yanlış olarak ayarlanmıştır.PageTransformer,MarginPageTransformer,CompositePageTransformer:positiondüzeltildi ile ilgili dokümanlar.
Hata düzeltmeleri
- Veri kümesi değişikliği / adaptör değişikliği düzeltildikten sonra
currentItem. offscreenPageLimitsorunun bulunduğuMarginPageTransformerdüzeltildi.FakeDragdavranışındaki erişilebilirlik işlemleri düzeltildi.
Sürüm 1.0.0-alpha05
5 Haziran 2019
androidx.viewpager2:viewpager2:1.0.0-alpha05 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Yeni özellikler
ItemDecorator,RecyclerViewile tutarlı bir davranışla ortaya çıktı.MarginPageTransformer, sayfalar arasında boşluk oluşturma (sayfa içi dışında) özelliğini sunmak için kullanıma sunulmuştur.CompositePageTransformer, birden fazlaPageTransformer'ı birleştirme olanağı sunmak için kullanıma sunulmuştur.
API değişiklikleri
FragmentStateAdapter#getItemyöntemiFragmentStateAdapter#createFragmentolarak yeniden adlandırıldı. Önceki yöntem adının geçmişte hata kaynağı olduğu kanıtlandı.OFFSCREEN_PAGE_LIMIT_DEFAULTdeğeri0yerine-1olarak değiştirildi.OFFSCREEN_PAGE_LIMIT_DEFAULTsabitinin kullanılması durumunda istemci kodunda değişiklik yapılmasına gerek yoktur.
Hata düzeltmeleri
SCROLL_STATE_SETTLINGters yönde bir sürükleme nedeniyle kesintiye uğradığındagetCurrentItem()davranışı düzeltildi.- "Etkinlikleri saklamayın" bağlamında ele alınan
FragmentStateAdaptersınıf yükleyici sorunları. setOffscreenPageLimitdokümanları iyileştirildi.
Sürüm 1.0.0-alpha04
7 Mayıs 2019
androidx.viewpager2:viewpager2:1.0.0-alpha04 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Yeni özellikler
offscreenPageLimit: Görünüm hiyerarşisinde tutulan sayfaView/Fragmentsayısının sıkı bir şekilde kontrol edilmesini sağlar
API değişiklikleri
orientationveisUserScrollableözellikleri artıkSavedState'nin bir parçası değilsaveStateverestoreStateyöntemleriFragmentStateAdaptertarihinde kesinleştiViewPager2.OrientationveViewPager2.ScrollStatenotları herkese açık olmaktan çıkarıldı
Hata düzeltmeleri
SavedState:Activitysilindiğinde / yeniden oluşturulduğunda geri yüklemeyle ilgili bir sorun düzeltildiSavedState: Adaptör ayarlanana kadar geri yükleme işlemi geciktiOnPageChangeCallback: Önemsiz uç durumlar düzeltildi
Sürüm 1.0.0-alpha03
3 Nisan 2019
androidx.viewpager2:viewpager2:1.0.0-alpha03 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Yeni özellikler
- ViewPager2'yi programatik olarak kaydırma özelliği:
fakeDragBy(offsetPx).
API değişiklikleri
FragmentStateAdapteriçin artık birLifecyclenesnesi gereklidir.FragmentActivityana makinesinden veyaFragmentana makinesinden almak için iki yardımcı program oluşturucu eklendi.
Hata düzeltmeleri
- Çok sayıda
Fragmentdesteğiyle ilgili düzeltme:- Veri kümesi güncellemelerini en aza indirilmiş durumdayken veya ekran döndürülürken işleme;
- Döndürme işleminden sonra alakasız parçaları kaldırma;
- Kaldırılan öğelerin kayıtlı durumunu kaldırma
PageChangeCallback: Kenar boşlukları olan sayfalar için sabit sayfa ofseti hesaplaması.
Sürüm 1.0.0-alpha02
13 Mart 2019
androidx.viewpager2:viewpager2:1.0.0-alpha02 yayınlanır. Bu sürüme dahil edilen taahhütlerin tam listesini burada bulabilirsiniz.
Yeni özellikler
- Kullanıcı girişini devre dışı bırakma özelliği (
setUserInputEnabled,isUserInputEnabled)
API değişiklikleri
- ViewPager2 sınıfı nihai
Hata düzeltmeleri
FragmentStateAdapterkararlılık düzeltmeleri
Sürüm 1.0.0-alpha01
7 Şubat 2019
androidx.viewpager2:viewpager2 1.0.0-alpha01 yayınlanır. Bu, ViewPager2'nin ilk sürümüdür.
Yeni özellikler
- Önceki sürüm
android.support.v4.view.ViewPager(VP1) ile karşılaştırma:- Sağdan sola (RTL) düzen desteği
- Dikey yön desteği
notifyDataSetChangedtamamen işlevsel (VP1 hataları giderildi)
API değişiklikleri
FragmentStateAdapter,FragmentStatePagerAdapteryerine geçerRecyclerView.Adapter,PagerAdapteryerine geçerregisterOnPageChangeCallback,addPageChangeListeneryerine geçer
Bilinen sorunlar
- clipToPadding
- no fakeDrag
- JavaDokümanı
- Yöne paralel iç içe kaydırma
- Ekran dışı sınır denetimi yok
- daha iyi TabLayout entegrasyonu gerekiyor
- sayfa Genişliği belirleyici yok (%100/%100 zorunlu)
- sayfa dönüştürücü: donanım/yazılım katmanı seçimi yok; ters çizim sırası yok
- Mevcut öğeden önce bir sayfa eklerken mevcut öğeyi görünür tutma
- klavyeyle gezinmeyle ilgili işlem yapmanız gerekiyor
FragmentStateAdapterkararlılık / performans iyileştirmeleri yolda