Junior — Middle
Как може да се реализира механизъм за превключване на екрани в Jetpack Compose?
sobes.tech AI
Отговор от AI
В Jetpack Compose преходът между екрани обикновено се реализира с помощта на библиотеката Navigation Compose, която управлява навигацията между различни Composable.
Основни стъпки:
- Създайте NavHost, който съдържа NavController и определя графа на навигацията.
- Определете composable за всеки екран с уникален маршрут (route).
- Използвайте NavController за преминаване между екрани чрез извикване на
navigate().
Пример:
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("Отидете на екрана с детайли")
}
}
@Composable
fun DetailsScreen() {
Text("Екран с детайли")
}
Този подход позволява лесно управление на стека с екрани и параметрите за навигация.