Compose Nav3 не анимирует переход при ручном удалении элемента обратного стека?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Compose Nav3 не анимирует переход при ручном удалении элемента обратного стека?

Сообщение Anonymous »

Compose Nav3 не анимирует переход при ручном удалении обратного элемента стека

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

NavDisplay(
modifier = Modifier.fillMaxSize(),
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryDecorators = listOf(
rememberSaveableStateHolderNavEntryDecorator(),
rememberViewModelStoreNavEntryDecorator()
),
transitionSpec = {
// Slide in from right when navigating forward
slideInHorizontally(initialOffsetX = { it }, animationSpec = tween(1000)) togetherWith
slideOutHorizontally(targetOffsetX = { -it }, animationSpec = tween(1000))
},
popTransitionSpec = {
// Slide in from left when navigating back
slideInHorizontally(initialOffsetX = { -it }, animationSpec = tween(1000)) togetherWith
slideOutHorizontally(targetOffsetX = { it }, animationSpec = tween(1000))

},
predictivePopTransitionSpec = {
// Slide in from left when navigating back
slideInHorizontally(initialOffsetX = { -it }, animationSpec = tween(1000)) togetherWith
slideOutHorizontally(targetOffsetX = { it }, animationSpec = tween(1000))
},
entryProvider = entryProvider {
entry {
RootOfDeposit().EntryScreen()
}
entry {
RootOfAccountDetailsScreen()(
accountId = it.accountId,
**onCancel = {
//backStack.removeLastOrNull()
//backStack.removeAt(backStack.lastIndex)
onBackPressedDispatcher?.onBackPressed()
}**
)
}
}
)
Анимация перехода работает хорошо, когда я использую системную кнопку «Назад», но не работает, если я удаляю последний элемент BackStack вручную.
Я использовал два подхода для удаления элемента: -

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

**onCancel = {
//backStack.removeLastOrNull()
//backStack.removeAt(backStack.lastIndex)
onBackPressedDispatcher?.onBackPressed()
}**
Экран меняется, но без анимации перехода.

Подробнее здесь: https://stackoverflow.com/questions/798 ... stack-item
Ответить

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

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

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

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

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