我有一个使用顶部应用栏和底部导航的应用程序。 每个底部选项卡都有自己的 NavHostController 导航。 在我的主页选项卡上,我有一个像这样的 NavHostController
fun HomeNavHostScreen(
modifier: Modifier = Modifier,
viewModel: HomeViewModel = hiltViewModel()
) {
val title = stringResource(id = R.string.home)
val navHostController: NavHostController = rememberNavController()
Scaffold(
topBar = {
B2CTopAppBar(
title = title,
navHostController = navHostController
)
},
content = {
NavHost(
navHostController,
startDestination = HomeRoute.HomeNavHostScreen.route,
modifier = Modifier.padding(top = it.calculateTopPadding())
) {
composable(HomeRoute.HomeNavHostScreen.route) {
HomeScreen()
}
composable(HomeRoute.DetailScreen.route) {
DetailScreen()
}
composable(HomeRoute.SomeOtherScreen.route) {
SomeScreen()
}
}
}
)
}
我在这里设置了主屏幕的标题,但对于我的详细信息屏幕,我想将标题更改为其他内容,并为每个子屏幕(DetailScreen 等)向 TopAppBar 添加按钮
我试图从这里删除脚手架并将其分别添加到我的每个视图到主屏幕、细节等。但是在我发现每个导航堆栈有超过 1 个脚手架是不正确的。
我是 Android 和 Jetpack Compose 的新手。在 iOS 中,您可以访问 navigationController 并可以设置所有子视图的标题和按钮。但我似乎无法在这里找到一种方法。 在此先感谢您的帮助。