Junior — Middle
Jak można zaimplementować mechanizm przełączania ekranów w Jetpack Compose?
sobes.tech AI
Odpowiedź od AI
W Jetpack Compose nawigacja między ekranami jest zwykle realizowana za pomocą biblioteki Navigation Compose, która zarządza nawigacją między różnymi Composable.
Główne kroki:
- Utwórz NavHost zawierający NavController i zdefiniuj graf nawigacji.
- Zdefiniuj composable dla każdego ekranu z unikalną trasą (route).
- Użyj NavController do przechodzenia między ekranami, wywołując
navigate().
Przykład:
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "home") {
composable("home") { HomeScreen(onNavigate = { navController.navigate("details") }) }
composable("details") { DetailsScreen() }
}
@Composable
fun HomeScreen(onNavigate: () -> Unit) {
Button(onClick = onNavigate) {
Text("Przejdź do ekranu szczegółów")
}
}
@Composable
fun DetailsScreen() {
Text("Ekran szczegółów")
}
Ten sposób pozwala łatwo zarządzać stosami ekranów i parametrami nawigacji.