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:
- Create a NavHost that contains a NavController and defines the navigation graph.
- Define composables for each screen with a unique route.
- 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.