SceneNavSharedElementSample
@OptIn(ExperimentalSharedTransitionApi::class)
@Composable
fun SceneNavSharedElementSample() {
val backStack = rememberNavBackStack(CatList)
SharedTransitionLayout {
NavDisplay(
backStack = backStack,
onBack = { backStack.removeAt(backStack.lastIndex) },
entryProvider =
entryProvider {
entry<CatList> {
CatList(this@SharedTransitionLayout) { cat ->
backStack.add(CatDetail(cat))
}
}
entry<CatDetail> { args ->
CatDetail(args.cat, this@SharedTransitionLayout) {
backStack.removeAt(backStack.lastIndex)
}
}
},
)
}
}