Bagikan melalui


ViewPager

ViewPager adalah manajer tata letak yang memungkinkan Anda menerapkan navigasi gestural. Navigasi gestural memungkinkan pengguna untuk menggesek ke kiri dan kanan untuk menelusuri halaman data. Panduan ini menjelaskan cara menerapkan navigasi gestural dengan ViewPager, dengan dan tanpa Fragmen. Ini juga menjelaskan cara menambahkan indikator halaman menggunakan PagerTitleStrip dan PagerTabStrip.

Gambaran Umum

Skenario umum dalam pengembangan aplikasi adalah kebutuhan untuk memberi pengguna navigasi gestural antara tampilan saudara. Dalam pendekatan ini, pengguna menggesek ke kiri atau kanan untuk mengakses halaman konten (misalnya, dalam panduan penyetelan atau peragaan slide). Anda dapat membuat tampilan gesek ini dengan menggunakan ViewPager widget, yang tersedia di Android Support Library v4. ViewPager adalah widget tata letak yang terdiri dari beberapa tampilan anak di mana setiap tampilan anak merupakan halaman dalam tata letak:

Cuplikan layar aplikasi TreePager dengan contoh gesek horizontal

Biasanya, ViewPager digunakan bersama dengan Fragmen; namun, ada beberapa situasi di mana Anda mungkin ingin menggunakan ViewPager tanpa kompleksitas Fragmenttambahan.

ViewPager menggunakan pola adaptor untuk menyediakannya dengan tampilan yang akan ditampilkan. Adaptor yang digunakan di sini secara konseptual mirip dengan yang digunakan oleh RecyclerView - Anda menyediakan implementasi PagerAdapter untuk menghasilkan halaman yang ViewPager ditampilkan kepada pengguna. Halaman yang ditampilkan oleh ViewPager dapat berupa Views atau Fragments. Saat Viewditampilkan, adaptor mensubkelas kelas dasar Android PagerAdapter . Jika Fragmentditampilkan, adaptor mensubkelas .FragmentPagerAdapter Pustaka dukungan Android juga menyertakan FragmentPagerAdapter (subkelas PagerAdapter) untuk membantu detail menyambungkan Fragmentke data.

Panduan ini menunjukkan kedua pendekatan:

  • Di Viewpager dengan Tampilan, aplikasi TreePager dikembangkan untuk menunjukkan cara menggunakan ViewPager untuk menampilkan tampilan katalog pohon (galeri gambar pohon gugur dan hijau). PagerTabStrip dan PagerTitleStrip digunakan untuk menampilkan judul yang membantu navigasi halaman.

  • Di Viewpager dengan Fragmen, aplikasi FlashCardPager yang sedikit lebih kompleks dikembangkan untuk menunjukkan cara menggunakan ViewPager dengan Fragments untuk membangun aplikasi yang menyajikan masalah matematika sebagai kartu flash dan merespons input pengguna.

Persyaratan

Untuk digunakan ViewPager dalam proyek aplikasi, Anda harus menginstal paket Android Support Library v4 . Untuk informasi selengkapnya tentang menginstal paket NuGet, lihat Panduan: Menyertakan NuGet di proyek Anda.

Sistem

Tiga komponen digunakan untuk menerapkan navigasi gestural dengan ViewPager:

  • ViewPager
  • Adaptor
  • Indikator Pager

Masing-masing komponen ini dirangkum di bawah ini.

ViewPager

ViewPager adalah manajer tata letak yang menampilkan koleksi Viewsatu per satu. Tugasnya adalah mendeteksi gerakan gesek pengguna dan menavigasi ke tampilan berikutnya atau sebelumnya yang sesuai. Misalnya, cuplikan layar di bawah ini menunjukkan ViewPager melakukan transisi dari satu gambar ke gambar berikutnya sebagai respons terhadap gerakan pengguna:

Closeup aplikasi TreePager menampilkan transisi antar Tampilan

Adaptor

ViewPager menarik datanya dari adaptor. Tugas adaptor adalah membuat s yang Viewditampilkan oleh ViewPager, menyediakannya sesuai kebutuhan. Diagram di bawah ini mengilustrasikan konsep ini - adaptor membuat dan mengisi Viewdan menyediakannya ke ViewPager. ViewPager Saat mendeteksi gerakan gesek pengguna, ia meminta adaptor untuk menyediakan yang sesuai View untuk ditampilkan:

Diagram yang mengilustrasikan bagaimana Adapter menyambungkan gambar dan nama ke ViewPager

Dalam contoh khusus ini, masing-masing View dibangun dari gambar pohon dan nama pohon sebelum diteruskan ke ViewPager.

Indikator Pager

ViewPager dapat digunakan untuk menampilkan himpunan data besar (misalnya, galeri gambar mungkin berisi ratusan gambar). Untuk membantu pengguna menavigasi himpunan data besar, ViewPager sering disertai dengan indikator pager yang menampilkan string. String mungkin berupa judul gambar, keterangan, atau hanya posisi tampilan saat ini dalam himpunan data.

Ada dua tampilan yang dapat menghasilkan informasi navigasi ini untuk Anda: PagerTabStrip dan PagerTitleStrip. Setiap menampilkan string di bagian ViewPageratas , dan masing-masing menarik datanya dari ViewPageradaptor 's sehingga selalu tetap sinkron dengan yang saat ini ditampilkan View. Perbedaan di antara mereka adalah bahwa menyertakan indikator visual untuk string "saat ini" sementara PagerTitleStrip tidak (seperti yang PagerTabStrip ditunjukkan dalam cuplikan layar ini):

Cuplikan layar aplikasi TreePager dengan PagerTitleStrip dan PagerTabStrip

Panduan ini menunjukkan cara immplement ViewPager, adaptor, dan komponen aplikasi indikator dan mengintegrasikannya untuk mendukung navigasi gestural.