Sobes.tech
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:

  1. Utwórz NavHost zawierający NavController i zdefiniuj graf nawigacji.
  2. Zdefiniuj composable dla każdego ekranu z unikalną trasą (route).
  3. 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.