Переопределить переход навигации при создании навигацииAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Переопределить переход навигации при создании навигации

Сообщение Anonymous »

У меня есть приложение для Android, которое использует навигацию Compose и вложенную навигацию с несколькими различными модулями. В навигации на основе XML было просто добавить определенные переходы к заданному действию навигации, но в составлении я, кажется, могу установить только на уровне компоновки/навигации.
У меня есть внешний navhost со своим набором переходов:

Код: Выделить всё

 NavHost(
navController = navController,
startDestination = ...,
route = ...,
enterTransition = ...,
exitTransition = ...,
popEnterTransition = ...,
popExitTransition = ..,
) {

composable(MainRoutes.Onboarding.route) {
OnboardingScreen()
}
addItemNavigation(
navController,
onItemAdded = {
// I want to override the exit transition of this navigate action
navController.navigate(
OnboardingRoutes.Onboarding.route)
)
}
)
}
}
Вложенная навигация имеет другой набор переходов:

Код: Выделить всё

fun NavGraphBuilder.addItemNavigation(
navController: NavController,
onItemAdded: () -> Unit
) {
navigation(
route = ...
startDestination = ...
) {
composable(
route = ...,
enterTransition = ...// Other transition than used by Main
exitTransition = ... // Other transition than used by Main
popEnterTransition = ...// Other transition than used by Main
popExitTransition = ...// Other transition than used by Main
) {
Проблема в том, что я хочу, чтобы выходной переход отличался для навигации, запускаемой обратным вызовом onItemAdded. Можно ли как-то переопределить? AddItemNavigation не знает о внешней навигации, поэтому я не могу фильтровать переходы составных уровней без жесткого кодирования строкового маршрута.

Подробнее здесь: https://stackoverflow.com/questions/790 ... navigation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»