Navigasi adalah interaksi yang memungkinkan pengguna melihat-lihat, masuk, dan keluar dari berbagai konten dalam aplikasi Anda. Komponen Navigasi Android Jetpack membantu Anda menerapkan navigasi, mulai dari klik tombol sederhana hingga pola yang lebih kompleks, seperti bilah aplikasi dan panel samping navigasi. Komponen Navigasi juga memastikan pengalaman pengguna yang konsisten dan dapat diprediksi dengan mendasarkan pada serangkaian prinsip-prinsip yang telah ditetapkan.
Komponen Navigasi terdiri dari tiga bagian utama yang dijelaskan di bawah:
- Grafik navigasi: Sumber daya XML yang berisi semua informasi terkait navigasi di satu lokasi terpusat. Ini mencakup semua area konten individual dalam aplikasi Anda, yang disebut tujuan, serta jalur yang mungkin dilalui oleh pengguna pada aplikasi Anda.
NavHost
: Container kosong yang menampilkan tujuan dari grafik navigasi Anda. Komponen Navigasi berisi implementasiNavHost
default,NavHostFragment
, yang menampilkan tujuan fragmen.NavController
: Objek yang mengelola navigasi aplikasi dalam sebuahNavHost
.NavController
mengatur pertukaran konten tujuan diNavHost
saat pengguna menggunakan aplikasi Anda.
Saat Anda bernavigasi dalam aplikasi, Anda memberi tahu NavController
bahwa Anda ingin membuka di sepanjang jalur tertentu di grafik navigasi Anda atau langsung ke tujuan tertentu. NavController
kemudian menunjukkan tujuan yang sesuai dalam NavHost
.
Komponen Navigasi memberikan sejumlah manfaat lain, termasuk yang berikut:
- Menangani transaksi fragmen.
- Menangani dan Kembali bertindak dengan benar secara default.
- Menyediakan sumber daya terstandarisasi untuk animasi dan transisi.
- Menerapkan dan menangani deep link.
- Termasuk pola Navigasi UI, seperti bilah samping navigasi dan navigasi bawah, dengan pekerjaan tambahan minimal.
- Safe Args - plugin Gradle yang memberikan keamanan jenis saat menavigasi dan mengirimkan data antar tujuan.
- Mendukung
ViewModel
- Anda dapat mengaturViewModel
ke grafik navigasi untuk berbagi data terkait UI antar tujuan grafik.
Selain itu, Anda dapat menggunakan Editor Navigasi Android Studio untuk melihat dan mengedit grafik navigasi Anda.
Langkah berikutnya
Untuk dokumentasi dan sumber daya lain yang terkait dengan komponen Navigasi, lihat yang berikut ini.
Memulai
Topik selanjutnya
- Prinsip Navigasi
- Desain untuk berbagai faktor bentuk
- Navigasi gestur
- Grafik navigasi desain
- Grafik bertumpuk
- Tindakan global
- Navigasi kondisional
- Teruskan data antara destinasi
- Buat deep link untuk destinasi
- Transisi animasi antara destinasi
- Update komponen UI dengan NavigationUI
- Buat tampilan gesek dengan tab
- Berinteraksi secara terprogram dengan komponen Navigasi
- Uji navigasi
- Tambahkan tipe destinasi baru
- Berikan navigasi mundur khusus
- Migrasi ke komponen Arsitektur