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:
Biasanya, ViewPager
digunakan bersama dengan Fragmen; namun, ada beberapa situasi di mana Anda mungkin ingin menggunakan ViewPager
tanpa kompleksitas Fragment
tambahan.
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 View
s atau Fragment
s. Saat View
ditampilkan, adaptor mensubkelas kelas dasar Android PagerAdapter
. Jika Fragment
ditampilkan, adaptor mensubkelas .FragmentPagerAdapter
Pustaka dukungan Android juga menyertakan FragmentPagerAdapter
(subkelas PagerAdapter
) untuk membantu detail menyambungkan Fragment
ke data.
Panduan ini menunjukkan kedua pendekatan:
Di Viewpager dengan Tampilan, aplikasi
TreePager
dikembangkan untuk menunjukkan cara menggunakanViewPager
untuk menampilkan tampilan katalog pohon (galeri gambar pohon gugur dan hijau).PagerTabStrip
danPagerTitleStrip
digunakan untuk menampilkan judul yang membantu navigasi halaman.Di Viewpager dengan Fragmen, aplikasi FlashCardPager yang sedikit lebih kompleks dikembangkan untuk menunjukkan cara menggunakan
ViewPager
denganFragment
s 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 View
satu 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:
Adaptor
ViewPager
menarik datanya dari adaptor. Tugas adaptor adalah membuat s yang View
ditampilkan oleh ViewPager
, menyediakannya sesuai kebutuhan. Diagram di bawah ini mengilustrasikan konsep ini - adaptor membuat dan mengisi View
dan menyediakannya ke ViewPager
. ViewPager
Saat mendeteksi gerakan gesek pengguna, ia meminta adaptor untuk menyediakan yang sesuai View
untuk ditampilkan:
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 ViewPager
atas , dan masing-masing menarik datanya dari ViewPager
adaptor '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):
Panduan ini menunjukkan cara immplement ViewPager
, adaptor, dan komponen aplikasi indikator dan mengintegrasikannya untuk mendukung navigasi gestural.