SceneOverrideEntryTransitionsSample
@Composable
fun SceneOverrideEntryTransitionsSample() {
val backStack = rememberNavBackStack(A)
NavDisplay(
backStack,
onBack = { backStack.removeLastOrNull() },
entryDecorators = listOf(rememberSaveableStateHolderNavEntryDecorator()),
// the Scene overrides the NavEntry's slide vertical with slide horizontal transitions
sceneStrategies = listOf(SceneOverrideEntryTransitionsSceneStrategy()),
entryProvider =
entryProvider {
entry<A> { BlueBox("A") { backStack.add(B) } }
// the entry defines slide vertical transitions
entry<B>(
metadata =
metadata {
put(NavDisplay.TransitionKey) { slideVertical }
put(NavDisplay.PopTransitionKey) { slideVertical }
put(NavDisplay.PredictivePopTransitionKey, { _: Int -> slideVertical })
}
) {
RedBox("B")
}
},
)
}