我使用一张图表,其中登录屏幕被设置为开始屏幕。从登录屏幕,您可以导航到特定选项卡底部导航。如果从登录屏幕转到底部导航屏幕时使用 popUpTo(0) 清除堆栈,则在选项卡之间切换时底部导航将停止保存状态。
在选项卡之间导航:
navController.navigate(item.route) {
navController.graph.startDestinationRoute?.let { route ->
popUpTo(route) {
saveState = true
}
}
launchSingleTop = true
restoreState = true
}
Run Code Online (Sandbox Code Playgroud)
从登录导航到底部选项卡
navController.navigate(route = NavigationItem.Home.route, builder = { popUpTo(0) })
Run Code Online (Sandbox Code Playgroud)