我正在使用 compose-navigation
(alpha09) 来处理可组合项之间的导航
我想在移动到下一个目的地时移除 Splash 屏幕(我不希望 后退 回到 Splash)
以下尝试未按预期工作:
navHostController.navigate(Route.login.id) {
navHostController.graph.clear()
}
navHostController.navigate(Route.login.id)
navHostController.graph.clear()
val currentDest = navHostController.currentDestination
navHostController.navigate(Route.login.id)
if (currentDest != null) {
navHostController.graph.remove(currentDest)
}
那么如何移除启动画面,然后移至下一个?
答案 0 :(得分:3)
在 Jetpack Compose 1.0.0-rc01
中导航并从返回堆栈中删除以前的可组合您可以使用:
navController.navigate(Screens.Login.name) {
popUpTo(Screens.Splash.name) {
inclusive = true
}
}
以上代码将从 Splash
屏幕导航到 Login
并弹出所有内容,包括 Splash
屏幕。
答案 1 :(得分:0)
对于 v1.0.0-alpha09
使用 popUpTo = 0
您可以在导航到下一个目的地之前清除堆栈。所以:
navHostController.navigate(Route.login.id) {
popUpTo = 0
}