GörünümSayfası2

Görüntüleme sayısını veya parçaları kaydırılabilir bir biçimde gösterin.
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.

Yeni sorun oluşturma

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-rc01 veya daha yeni sürümlerle kullanıldığında kilitlenme sorunu düzeltildi.
  • ViewPager2 artık RecyclerView 1.2.0-alpha02 ve sonraki sürümlerin varsayılan olarak doldurmadığı CollectionInfo ve CollectionItemInfo öğelerini doğru şekilde dolduruyor.
  • FragmentStateAdapter içinde gerçekleşen parça yaşam döngüsü değişikliklerini dinlemek için FragmentTransactionCallback arayüzü eklendi.
  • FragmentManager'a bir parça eklenirken ilk parça menüsünün görünürlüğüyle ilgili FragmentStateAdapter sorunu 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ız WindowInsetsApplier.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çin ViewPager2 artık eski API sürümlerinin bozuk WindowInsets dağı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. Bu ViewPager2 sürümünün kullanıcıları, en az RecyclerView 1.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

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

  • FragmentStateAdapter içinde gerçekleşen parça yaşam döngüsü değişikliklerini dinlemek için FragmentTransactionCallback arayüzü eklendi. (Ibda77)

Hata Düzeltmeleri

  • FragmentManager'a bir parça eklenirken ilk parça menüsünün görünürlüğüyle ilgili FragmentStateAdapter sorunu 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 Fragment desteği (temel Fragment koleksiyonundaki değişikliklerin ele alınması dahil)
    • Veri kümesi değişiklik animasyonları (DiffUtil desteği dahil)
  • Önceki ViewPager uygulaması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 requestFocus sorunu düzeltildi. Davranış artık orijinal ViewPager ile tutarlı. (b/140656866)
  • Sayfa değişikliğinden sonra ekran dışı bir sayfada kalan focus için düzeltme yapıldı. Sayfa değiştirilirken artık odak temizlenir. (b/140656866)
  • Sayfayı değiştirirken Fragment duraklatma / 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) ve canScrollVertically(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

  • Fragment geri yığınıyla ilgili FragmentStateAdapter uç durum sorunu düzeltildi. (b/139095195)
  • Yazarken/odaklandığında kaydırma/sayfa atlamasına neden olan belirli özellik yapılandırmalarına sahip EditText iç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 ViewPager2 ile 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 Fragment durumuyla ilgili FragmentStateAdapter sorunu için düzeltme. b/134246546
  • Sorunsuz kaydırma sırasında bir veri kümesi değiştirildiğinde currentItem ve scrollState sorunları için düzeltme (uç durumlar ele alındı). b/137642608
  • Veri kümesi değişikliği animasyonlarıyla çakışan PageTransformer (MarginPageTransformer dahil) animasyonlarıyla ilgili düzeltme. b/134658996
  • Büyük veri kümelerinde sorunsuz kaydırma animasyonları (float tam 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-beta01 sü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.updateCurrentItem kilitlenme sorununu düzeltme
  • ViewPager2.isLayoutRtl ile ilgili NullPointerException kilitlenme sorununu düzeltme
  • TOUCH_SLOP_PAGING artık varsayılan dokunma kayması
  • Boş bağdaştırıcılar için OnPageChangeCallback etkinlikleri düzeltildi (ViewPager1 ile eşleşme için -1 yerine 0 sayfası)

Bilinen sorunlar

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_DOWN vb.

API değişiklikleri

  • FragmentStateAdapter: Birincil olmayan Fragment öğeleri STARTED ile sınırlanmış, menuVisibility değ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.
  • offscreenPageLimit sorunun bulunduğu MarginPageTransformer düzeltildi.
  • FakeDrag davranışı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, RecyclerView ile 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 fazla PageTransformer'ı birleştirme olanağı sunmak için kullanıma sunulmuştur.

API değişiklikleri

  • FragmentStateAdapter#getItem yöntemi FragmentStateAdapter#createFragment olarak yeniden adlandırıldı. Önceki yöntem adının geçmişte hata kaynağı olduğu kanıtlandı.
  • OFFSCREEN_PAGE_LIMIT_DEFAULT değeri 0 yerine -1 olarak değiştirildi. OFFSCREEN_PAGE_LIMIT_DEFAULT sabitinin kullanılması durumunda istemci kodunda değişiklik yapılmasına gerek yoktur.

Hata düzeltmeleri

  • SCROLL_STATE_SETTLING ters yönde bir sürükleme nedeniyle kesintiye uğradığında getCurrentItem() davranışı düzeltildi.
  • "Etkinlikleri saklamayın" bağlamında ele alınan FragmentStateAdapter sınıf yükleyici sorunları.
  • setOffscreenPageLimit dokü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 sayfa View / Fragment sayısının sıkı bir şekilde kontrol edilmesini sağlar

API değişiklikleri

  • orientation ve isUserScrollable özellikleri artık SavedState'nin bir parçası değil
  • saveState ve restoreState yöntemleri FragmentStateAdapter tarihinde kesinleşti
  • ViewPager2.Orientation ve ViewPager2.ScrollState notları herkese açık olmaktan çıkarıldı

Hata düzeltmeleri

  • SavedState: Activity silindiğinde / yeniden oluşturulduğunda geri yüklemeyle ilgili bir sorun düzeltildi
  • SavedState: Adaptör ayarlanana kadar geri yükleme işlemi gecikti
  • OnPageChangeCallback: Ö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

  • FragmentStateAdapter için artık bir Lifecycle nesnesi gereklidir. FragmentActivity ana makinesinden veya Fragment ana makinesinden almak için iki yardımcı program oluşturucu eklendi.

Hata düzeltmeleri

  • Çok sayıda Fragment desteğ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

  • FragmentStateAdapter kararlı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
    • notifyDataSetChanged tamamen işlevsel (VP1 hataları giderildi)

API değişiklikleri

  • FragmentStateAdapter, FragmentStatePagerAdapter yerine geçer
  • RecyclerView.Adapter, PagerAdapter yerine geçer
  • registerOnPageChangeCallback, addPageChangeListener yerine 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
  • FragmentStateAdapter kararlılık / performans iyileştirmeleri yolda