Navigation Compose
Penjelasan
Navigation Compose adalah library resmi Google untuk navigasi antar layar — NavController mengelola "stack" layar (mirip Navigator Flutter), NavHost mendefinisikan SEMUA route yang mungkin dan Composable-nya masing-masing, dirujuk lewat string route unik.
Contoh Konsep
// build.gradle: implementation("androidx.navigation:navigation-compose:...")
@Composable
fun App() {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "beranda") {
composable("beranda") {
Button(onClick = { navController.navigate("tentang") }) {
Text("Ke Halaman Tentang")
}
}
composable("tentang") {
Text("Halaman Tentang")
}
}
}
Praktikum
Buat NavHost dengan startDestination "kontak", berisi dua composable route: "kontak" (Text "Halaman Kontak" + tombol ke "layanan") dan "layanan" (Text "Halaman Layanan").
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
rememberNavController() WAJIB dibuat di level Composable PALING LUAR yang membungkus NavHost (biasanya App() atau MainActivity) — kalau dibuat di dalam Composable yang lebih dalam/sering di-recompose, NavController bisa "reset" tidak sengaja dan kehilangan riwayat navigasinya.