GörünümSayfası2

Görünümleri veya Parçaları kaydırılabilir biçimde görüntüleyin.
Son Güncelleme Kararlı Sürüm Serbest Bırakma Adayı Beta Sürümü Alfa Sürümü
1 Mayıs 2024 1.0.0 1.1.0-rc01 - -

AndroidX Bağımlılıkları

ViewPager2 kullanmak için aşağıdaki AndroidX bağımlılığını projenizin build.gradle dosyasına ekleyin:

Modern

dependencies {
    implementation "androidx.viewpager2:viewpager2:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.viewpager2:viewpager2:1.0.0")
}

Geri bildirim

Geri bildiriminiz Jetpack'i daha iyi hale getirmemize yardımcı oluyor. Yeni sorunlar keşfederseniz veya bu kitaplığı nasıl geliştirebileceğimizle ilgili fikirleriniz varsa bize bildirin. Yeni bir sorun 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.

Yeni sayı oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.1.0

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 dikkate değer bir değişiklik olmadan yayınlanmıştır. 1.1.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.1.0-beta02

24 Mayıs 2023

androidx.viewpager2:viewpager2:1.1.0-beta02 yayınlandı. 1.1.0-beta02 sürümü bu kayıtları içerir.

API Değişiklikleri

  • FragmentTransactionCallback öğesine, Parça durumu kaydetme geri çağırmaları eklendi. (I45b90)
  • ViewPager2 artık eski API sürümlerinin bozuk WindowInsets dağıtımı sorununu (< 30) düzeltmeye çalışmaz. Bunun nedeni, düzeltmenin kendisi ViewPager2 hizmetinin kardeşlerine zarar verebilir. Bu düzeltme hâlâ kullanılabilir durumda olsa da geliştiricilerin durum bazında karar verebilmesi için artık isteğe bağlı bir çözüm haline gelmiştir. WindowInsetsApplier.install(viewPager2)) yöntemini çağırarak düzeltmeyi etkinleştirin. (Ic9a85)

Hata Düzeltmeleri

  • RecyclerView uygulamasının daha yeni sürümleriyle uyumluluk sorunlarını düzeltin. Bu ViewPager2 sürümünü kullananlar 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ınlandı. 1.1.0-beta01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Androidx'i Kotlin 1.4 sürümünü kullanacak şekilde yeni sürüme geçirin (Id6471, b/165307851, b/165300826)

  • Tüm androidx kitaplıkları için Java 8'i hedeflemeye geçiş yapın (2923f39)

Hata Düzeltmeleri

  • Pencere eklerinin dağıtılması düzeltildi. Artık tüm sayfalar aynı insetleri alıyor. (I47fef)

Sürüm 1.1.0-alpha01

1 Nisan 2020

androidx.viewpager2:viewpager2:1.1.0-alpha01 yayınlandı. Sürüm 1.1.0-alpha01 bu kayıtları içerir.

Bu sürüm, RecyclerView 1.2.0-alpha02'de CollectionInfo ve CollectionItemInfo doldurularak yapılan ve RecyclerView tarafından artık varsayılan olarak sağlanmayan bir değişikliğe eşlik eder. RecyclerView 1.2.0-alpha02 sürümüne güncelleme yaparken, Erişilebilirlik gerilemelerini önlemek için ViewPager2 politikasını da 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. (İbda77)

Hata Düzeltmeleri

  • FragmentManager öğesine parça eklerken ilk parça menüsü 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 sürümünden herhangi bir değişiklik yapılmadan yayınlandı. Sürüm 1.0.0 bu kayıtları içerir.

1.0.0'ın temel özellikleri

  • Önceki ViewPager uygulamasından elde edilen iyileştirmeler:
    • RTL (sağdan sola) düzen desteği
    • Dikey yön desteği
    • Güvenilir Fragment desteği (temel Fragment koleksiyonunda yapılan değişikliklerin işlenmesi dahil)
    • Veri kümesi değişiklik animasyonları (DiffUtil desteği dahil)
  • Önceki ViewPager uygulamasından kolay geçiş (mümkün olduğunda API eşdeğeri). Taşıma kılavuzuna ve örnek uygulamaya bakın.

Parçalar arasında geçiş yapmak için ViewPager2'yi kullanma hakkındaki 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 olmadan yayınlandı. 1.0.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.0.0-beta05

9 Ekim 2019

androidx.viewpager2:viewpager2:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.

Hata düzeltmeleri

  • Ekran dışındaki bir sayfada, sayfa değişikliğine neden olan requestFocus sorunu düzeltildi. Bu davranış artık orijinal ViewPager ile tutarlıdır. (b/140656866)
  • Sayfa değişikliğinden sonra ekran dışındaki bir sayfada kalan focus için düzeltme yapıldı. Artık sayfa değiştirilirken odak temizlenir. (b/140656866)
  • Sayfa değiştirilirken Fragment işlemleri duraklatma / devam ettirme siparişi için düzeltme uygulandı (artık yeni birincil öğeyi devam ettirmeden önce her zaman eski birincil öğeyi duraklatıyoruz). (b/139489059)
  • canScrollHorizontally(int) ve canScrollVertically(int) için düzeltme: Artık ViewPager2'nin belirtilen yönde kaydırılıp kaydırılamayacağı döndürülüyor. (b/141848404)
  • SwiperefreshLayout'ta yaşanan 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ınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Hata düzeltmeleri

  • Fragment arka yığınıyla ilgili FragmentStateAdapter uç kılıf sorunu için düzeltme yapıldı. (b/139095195)
  • Belirli özellik yapılandırmalarında yazma/odaklamada kaydırma/sayfa atlamasına neden olan EditText sorunu düzeltildi. (b/138044582, b/139432498)
  • ItemDecoration örnekleriyle ilgili bir sorun ve fazla kaydırma göstergesinin konumlandırılması için geçici bir çözüm düzeltildi. (b/139012032)
  • ViewPager2 ile daha iyi çalışacak diğer bileşenlerde bazı sorunlar düzeltilmiştir: RecyclerView, NestedScrollView ve Gezinme.

Sürüm 1.0.0-beta03

7 Ağustos 2019

androidx.viewpager2:viewpager2:1.0.0-beta03 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Hata düzeltmeleri

  • Geçici Fragment durumuyla ilgili FragmentStateAdapter sorunu düzeltildi. b/134246546
  • Bir veri kümesi, yumuşak kaydırma sırasında değiştirildiğinde currentItem ve scrollState sorunlarına yönelik düzeltme (uç durumlara yönelik). b/137642608
  • Veri kümesi değişiklik animasyonlarıyla çakışan PageTransformer (MarginPageTransformer dahil) animasyonları için düzeltme yapıldı. b/134658996
  • Büyük veri kümelerinde yumuşak kaydırma animasyonları için düzeltme (float tam sayı değer sınırı). b/134858960

Sürüm 1.0.0-beta02

19 Temmuz 2019

androidx.viewpager2:viewpager2:1.0.0-beta02 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Hata düzeltmeleri

  • 1.0.0-beta01 ayında kullanıma sunulan istenmeyen jakoko 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ınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Hata düzeltmeleri

  • Veri kümesi kaydırılıp güncellenirken ViewPager2.updateCurrentItem kilitlenmesi için düzeltme
  • ViewPager2.isLayoutRtl ile ilgili NullPointerException kilitlenme için düzeltme
  • TOUCH_SLOP_PAGING artık varsayılan bir dokunma eğimi
  • Boş bağdaştırıcılar için OnPageChangeCallback etkinlik düzeltildi (ViewPager1 ile benzerlik için -1 yerine 0. sayfa)

Bilinen sorunlar

Sürüm 1.0.0-alpha06

2 Temmuz 2019

androidx.viewpager2:viewpager2:1.0.0-alpha06 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Bu, API'yi dondurup beta sürümüne geçmeden önce yapmayı planladığımız son alfa sürümüdür. Lütfen bize API geri bildirimi gönderin.

Yeni özellikler

  • Erişilebilirliğin iyileştirilmesinin temelleri: ACTION_PAGE_RIGHT, ACTION_PAGE_DOWN vb.

API değişiklikleri

  • FragmentStateAdapter: Birincil olmayan Fragment öğeleri STARTED ile sınırlanmış ve menuVisibility değerleri yanlış olarak ayarlanmıştır.
  • PageTransformer, MarginPageTransformer, CompositePageTransformer: dokümanlar position düzeltildi.

Hata düzeltmeleri

  • Veri kümesi değişikliği / bağdaştırıcı değişikliği düzeltildikten sonra currentItem.
  • offscreenPageLimit sorunu olan MarginPageTransformer düzeltildi.
  • FakeDrag davranışı sırasında erişilebilirlik işlemleri düzeltildi.

Sürüm 1.0.0-alpha05

5 Haziran 2019

androidx.viewpager2:viewpager2:1.0.0-alpha05 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Yeni özellikler

  • ItemDecorator, RecyclerView ile tutarlı bir davranışla kullanıma sunuldu.
  • Sayfalar arasında boşluk oluşturma olanağı sağlamak için MarginPageTransformer kullanıma sunuldu (sayfa metninin dışında).
  • Birden fazla PageTransformer özelliğini birleştirme olanağı sağlamak için CompositePageTransformer kullanıma sunuldu.

API değişiklikleri

  • FragmentStateAdapter#getItem yöntemi FragmentStateAdapter#createFragment olarak yeniden adlandırıldı. Önceki yöntem adının geçmişte hatalara neden olduğu kanıtlandı.
  • 0 olan OFFSCREEN_PAGE_LIMIT_DEFAULT değeri -1 olarak değiştirildi. OFFSCREEN_PAGE_LIMIT_DEFAULT sabit değeri kullanılırsa istemci kodu değişikliğine 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 saklama" bağlamında FragmentStateAdapter sınıf yükleyici sorunu giderildi.
  • setOffscreenPageLimit doküman iyileştirildi.

Sürüm 1.0.0-alpha04

7 Mayıs 2019

androidx.viewpager2:viewpager2:1.0.0-alpha04 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Yeni özellikler

  • offscreenPageLimit: Görünüm hiyerarşisinde tutulan View / Fragment sayfa sayısının sıkı bir şekilde kontrol edilmesini sağlar

API değişiklikleri

  • orientation ve isUserScrollable özellikleri artık SavedState ürününün bir parçası değil
  • saveState ve restoreState yöntemleri FragmentStateAdapter içinde sonlandı
  • ViewPager2.Orientation ve ViewPager2.ScrollState ek açıklaması herkese açık hale getirilmedi

Hata düzeltmeleri

  • SavedState: Activity kaldırıldığında / yeniden oluşturulduğunda geri yüklemeyle ilgili bir sorun düzeltildi
  • SavedState: bağdaştırıcı ayarlanana kadar geri yükleme gecikiyor
  • OnPageChangeCallback: Küçük sıra dışı durumlar düzeltildi

Sürüm 1.0.0-alpha03

3 Nisan 2019

androidx.viewpager2:viewpager2:1.0.0-alpha03 yayınlandı. Bu sürümdeki kaydetmeleri burada bulabilirsiniz.

Yeni özellikler

  • ViewPager2'yi programlı bir şekilde kaydırma yeteneği: fakeDragBy(offsetPx).

API değişiklikleri

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

Hata düzeltmeleri

  • Çok sayıda Fragment destek düzeltmesi:
    • küçültülürken veya ekran rotasyonu sırasında veri kümesi güncellemelerini işleme;
    • rotasyondan sonra alakasız Parçaları kaldırma;
    • kaldırılan öğelerin kayıtlı durumu kaldırılıyor.
  • 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ınlandı. Bu sürümdeki kaydetmelerin 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ı finali

Hata düzeltmeleri

  • FragmentStateAdapter kararlılık düzeltmesi

Sürüm 1.0.0-alpha01

7 Şubat 2019

androidx.viewpager2:viewpager2 1.0.0-alpha01 yayınlandı. 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ırıldığında:
    • Sağdan sola (RTL) düzen desteği
    • Dikey yön desteği
    • notifyDataSetChanged tamamen işlevsel (VP1 hataları ele alındı)

API değişiklikleri

  • FragmentStateAdapter, FragmentStatePagerAdapter yerine geçmiş
  • RecyclerView.Adapter, PagerAdapter yerine geçmiş
  • registerOnPageChangeCallback, addPageChangeListener yerine geçmiş

Bilinen sorunlar

  • klip-Dolgu
  • fakeDrag yok
  • JavaDoc
  • yöne paralel iç içe kaydırma
  • ekran dışı sınır denetimi yok
  • Daha iyi TabLayout entegrasyonuna ihtiyaç duyar
  • pageGenişlik ayarlayıcı yok (zorunlu %100/%100)
  • sayfa dönüştürücü: donanım/yazılım katmanı seçimi yok; ters çizim sırası yok
  • geçerli öğenin öncesine bir sayfa eklerken geçerli öğeyi görünür tut
  • klavyeyle gezinme için çalışma gerekiyor
  • FragmentStateAdapter kararlılık / performans iyileştirmesi geliyor