Sobes.tech
Назад к вопросам
Junior — Middle
81

Каким образом можно реализовать механизм переключения экранов в Jetpack Compose?

Компании, где спрашивали
ВанТу Ворк

Ответ от нейросети

sobes.tech 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("Экран деталей")
}

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