Однако я хотел бы реализовать аналогичный постепенный переход на основе обратного прогресса для компонент навигации в Jetpack Compose.
Как мне это сделать? Я не могу найти никакой документации о возможности контролировать ход перехода между различными пунктами назначения навигации.
Вот пример моего NavHost:
Код: Выделить всё
NavHost(navController = pageNavController!!, startDestination = "home"){
composable(
route = "home",
enterTransition = {
navEnterTransition(
direction = DIRECTION_LEFT,
orientation = orientation) },
exitTransition = {
navExitTransition(
direction = DIRECTION_LEFT,
orientation = orientation) },
content = { HomePage() }
)
composable(
route = "settings",
enterTransition = { navEnterTransition(
direction = getNavEnterDirection(initialState.destination),
orientation = orientation) },
exitTransition = { navExitTransition(
direction = getNavExitDirection(initialState.destination),
orientation = orientation) },
content = { SettingsPage() }
)
}
Если нет, существуют ли другие подходы, которые могут работать?< /p>
Изменить
Как отметил Янханнибаллаке, это пока не поддерживается.
Однако мне удалось заставить его работать с помощью пейджера и некоторых сложных пользовательских навигации и модификаторов. Это работало и включало предиктивный жест назад, но было очень нестабильно и содержало некоторые ошибки, поэтому я отказался и просто подожду официальной поддержки.
Подробнее здесь: https://stackoverflow.com/questions/772 ... navigation
Мобильная версия