Sobes.tech
Junior — Middle

How can a screen switching mechanism be implemented in Jetpack Compose?

sobes.tech AI

Answer from AI

In Jetpack Compose, screen switching is usually implemented using the Navigation Compose library, which manages navigation between different Composables.

Main steps:

  1. Create a NavHost that contains a NavController and defines the navigation graph.
  2. Define composables for each screen with a unique route.
  3. Use NavController to navigate between screens by calling navigate().

Example:

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("Go to details screen")
    }
}

@Composable
fun DetailsScreen() {
    Text("Details screen")
}

This approach makes it easy to manage the stack of screens and navigation parameters.