Sobes.tech
Junior — Middle

Как може да се реализира механизъм за превключване на екрани в Jetpack Compose?

sobes.tech AI

Отговор от AI

В Jetpack Compose преходът между екрани обикновено се реализира с помощта на библиотеката Navigation Compose, която управлява навигацията между различни Composable.

Основни стъпки:

  1. Създайте NavHost, който съдържа NavController и определя графа на навигацията.
  2. Определете composable за всеки екран с уникален маршрут (route).
  3. Използвайте 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("Екран с детайли")
}

Този подход позволява лесно управление на стека с екрани и параметрите за навигация.