SayfaSayfası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ü
24 Mayıs 2023 1.0.0 - 1.1.0-beta02 -

AndroidX Bağımlılıkları

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

Modern

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

Kotlin

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

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.

Yeni sorun oluşturma

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

Sürüm 1.1.0

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)
  • Düzeltmenin kendisi ViewPager2 ürününün kardeşlerine zarar verebileceğinden ViewPager2 artık eski API sürümlerinin bozuk WindowInsets dağıtımı sorununu düzeltmeye çalışmıyor (< 30). Düzeltme hâlâ kullanılabilir ancak artık geliştiriciler tarafından tek tek karar verilebilmesi için 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

  • Daha yeni RecyclerView sürümleriyle 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üncellemelidir.

Sürüm 1.1.0-beta01

4 Ağustos 2021

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

API Değişiklikleri

Hata Düzeltmeleri

  • Pencere eklerinin dağıtılması düzeltildi. Tüm sayfalar artık aynı iç setleri 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, CollectionInfo ve CollectionItemInfo doldurularak RecyclerView 1.2.0-alpha02 sürümünde 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. (Ibda77)

Hata Düzeltmeleri

  • FragmentManager öğesine bir parça eklenirken başlangıç 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 olmadan 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şikliği 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 göz atı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 hiçbir değişiklik olmadan yayınlandı. Sürüm 1.0.0-rc01 bu kayıtları içerir.

Sürüm 1.0.0-beta05

9 Ekim 2019

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

Hata düzeltmeleri

  • Sayfa değişikliğine neden olan ekran dışındaki bir sayfadaki requestFocus için düzeltme yapıldı. 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 uygulandı. Artık sayfa değiştirilirken odak temizleniyor. (b/140656866)
  • Sayfa değiştirilirken Fragment işlemlerinin duraklatılması / devam ettirilmesi için verilen sipariş düzeltmesi düzeltildi (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ğı gösteriliyor. (b/141848404)
  • ViewPager2 ile daha iyi çalışacak şekilde SClearrefreshLayout'ta yaşanan bir sorun 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 düzeltildi. (b/139095195)
  • Belirli özellik yapılandırmalarında, yazma/odaklama sırasında kaydırmaya/sayfada atlamaya neden olan EditText sorunu düzeltildi. (b/138044582, b/139432498)
  • ItemDecoration örnekleriyle ilgili bir sorun ve fazla kaydırma göstergesinin konumlandırması için bir geçici çözüm düzeltildi. (b/139012032)
  • ViewPager2 ile daha iyi çalışacak diğer bileşenlerde bazı sorunlar giderildi: 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
  • Kesintisiz kaydırma sırasında bir veri kümesi değiştirildiğinde currentItem ve scrollState sorunları için düzeltme yapıldı (Sınır destek kayıtları ele alınır). 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 yapıldı (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 tarihinde ortaya çıkan 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 kilitlenme için düzeltildi
  • 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 etkinlikleri 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'ya geçmeden önce yapmayı planladığımız son alfa denemesidir. Lütfen bize API ile ilgili geri bildirimde bulunun.

Yeni özellikler

  • Erişilebilirlikle ilgili temel bilgiler: 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 sorunun bulunduğu MarginPageTransformer düzeltildi.
  • FakeDrag davranışı düzeltilirken 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 sunuldu.
  • Sayfalar arasında boşluk oluşturma olanağı sağlamak için MarginPageTransformer kullanıma sunuldu (sayfa ekinin 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 yol açtığı kanıtlandı.
  • 0 olan OFFSCREEN_PAGE_LIMIT_DEFAULT değeri -1 olarak değiştirildi. OFFSCREEN_PAGE_LIMIT_DEFAULTSabit 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 saklanan 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 kapsamında 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 gecikti
  • OnPageChangeCallback: Küçük uç 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 özelliğ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üyken veya ekran döndürme sırasında veri kümesi güncellemelerini işleme;
    • rotasyondan sonra alakasız Parçaları kaldırma;
    • kaldırılan öğelerin kaydedilen durumu kaldırılıyor.
  • PageChangeCallback: Kenar boşluğu 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üme dahil edilen 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 sonu

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ına çözüm bulundu)

API değişiklikleri

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

Bilinen sorunlar

  • klip-dolgu
  • sahteDrag yok
  • Java Dokümanı
  • yöne paralel iç içe kaydırma
  • ekran dışı sınır denetimi yok
  • daha iyi TabLayout entegrasyonu gerektirir
  • sayfa genişliği 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
  • mevcut öğeden önce bir sayfa eklerken geçerli öğeyi görünür tutun
  • klavyeyle gezinme için çalışma gerekiyor
  • FragmentStateAdapter kararlılık / performans iyileştirmesi yapılacak