Android ViewPager2 Kullanımı

Projenin en az backend yazılımının iyi olması kadar kullanıcısını doğru tanıyan, onların istek ve beklentileri öngörerek bunu kullanıcı arayüz ekranlarına doğru ve işlevsel bir tasarım olarak aktarmak da çok önemlidir. Bu yüzden, tasarımda kullanıcı deneyimini arttıran elementler kullanmanın önemi büyüktür.

Bir Android uygulama tasarımı, iyi bir kullanıcı deneyimine sahip olabilmesi için Google geliştiricilere güzel widget’lar sunmuştur. Bunlardan biri de ViewPager widget’dır. ViewPager, kullanıcının sayfayı sola veya sağa kaydırarak, yeni ekranlar görüntülemesini sağlayan widget’dır.

Google yakın zamanda, eski ViewPager’in yerini alan ve birçok zayıf olduğu özelliklerine çözüm üreterek, geliştirmiş olduğu ViewPager2’yi duyurdu.

Bu makalemde, ViewPager yapısından ViewPager2’ye geçişin avantajlarını ve bir Android uygulamasında ViewPager2 kullanımını örnekleyerek anlatacağım.

ViewPager2’ye geçişin avantajları

  1. ViewPager artık Google geliştiricileri tarafından aktif geliştirme desteği almamaktadır. Bu yüzden daha güncel olan ViewPager2’yı kullanmak daha avantajlıdır.
  2. ViewPager2, yatay sayfalamaya ek olarak dikey sayfalamayı da yapmamızda yardımcı olur.
  3. ViewPager2, sağdan sola (RTL) kaydırarak sayfaları değiştirmemizi sağlar.
  4. ViewPager2, RecyclerView yapısını kullanmaktadır. RecyclerView yapısı barındığı için varsayılan olarak DiffUtil sınıfının kullanımını desteklemektedir. Böylelikle sayfaya dinamik olarak fragment ve view eklemeyi olanak sağlayarak, UI’yi güncelleyebilirsiniz.

ViewPager2 kullanımını örnekleyeceğim Android uygulaması aşağıda belirttiğim görüntüdeki işlevlere sahip olacaktır.

Örneklediğim projemin kodlarını indirmek isterseniz; yapmanız gereken tek şey aşağıya koyduğum KODLARI İNDİR resmine tıklamak.

download

1-Gerekli Kütüphanelerin Eklenmesi

ViewPager2 widget, android.support kütüphanesinde bulunmamaktadır. ViewPager2 kullanabilmek için AndroidX kütüphanesine geçmeniz gerekir.Bu yüzden projedeki tüm kütüphane tanımlamaları androidx ile başlayacaktır.

Dilerseniz AndroidX Kütüphanesine Geciş adlı makalemi okuyarak, var olan projelerinizi AndroidX yapısına kolaylıkla geçişini sağlayabilirsiniz.

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek Viewpager2 kütüphanesini yüklüyoruz.

2-Arayüz Kodlaması

Örneğimizdeki görüntüyü elde etmek içim, 2 tane xml dosyasında kodlama yapmamız gerekmektedir.

activity_main xml kodlarımızda, constraintlayout içine ViewPager2 widget’ı ekledim.

activity_main xml kodlarımız;

item_viewpager xml de ise; her ViewPager2 sayfasındaki içerikleri yansıtacak, AppCompatTextView ve AppCompatButton arayüz nesnelerini kullandım.

item_viewpager xml kodlarımız;

3-Java kodlama ile işlevsellik oluşturma

İlk önce MainActivity sınıfında ViewPager2 widget’ını tanımladık. Sonrasında sayfalarda göstermek istediğimiz yazıları bir List sınıfına ekleyip, setAdapter metodunda ViewPagerAdapter sınıfının parametresine list sınıfını atadık. Böylelikle  ViewPagerAdapter sınıfına List’e eklediğimiz değerleri gönderdik.

ViewPagerAdapter sınıfında ise Custom Listview kullandığımızda, oluşturulan Adapter sınıfı mantığına benzer bir yapı bulunmaktadır.ViewPagerAdapter, RecyclerView.Adapter<ViewPagerAdapter.ViewHolder> sınıfından kalıtım alındı. Kod açıklamaları, yorum tagları içinde bulunmaktadır.

Kaynaklar

  1. https://developer.android.com/training/animation/vp2-migration
Kategori Genel
Etiketler