我有问题。
问题是当我导航到“添加问题”屏幕时,我不知道如何隐藏底部应用栏。
我需要你的帮助。
这是带有底部应用栏的 MyScreen
@Composable
fun Navigation() {
val navController = rememberNavController()
val items = listOf(Screen.Home, Screen.Search, Screen.Notifications, Screen.Profil)
Scaffold(
bottomBar = {
bottomAppNavigation(navController = navController, items)
}
) {
Box(modifier = Modifier.padding(it)) {
ScreenController(navController = navController)
}
}
}
这是我的带有导航主机的控制器
@ExperimentalComposeUiApi
@Composable
fun ScreenController(navController: NavHostController) {
NavHost(navController = navController, startDestination = Screen.Home.route) {
composable(Screen.Home.route) {
HomeScreen(navController)
}
composable(Screen.Search.route) {
SearchScreen(navController, it)
}
composable(Screen.Notifications.route) {
}
composable(Screen.Profil.route) {
user_profil()
}
composable("Ask_question") {
AskScreen(navController)
}
}
}
我认为的问题是因为这就像活动和片段,我有一个可组合屏幕所在的盒子,我所有的页面都在他里面。
答案 0 :(得分:2)
如果你想隐藏 BottomBar
就不要输出它。
类似于:
Scaffold(
bottomBar = {
if (currentRoute != "xxxx") {
BottomAppBar() {
//....
}
}
},
currentRoute
在哪里(至少使用 Navigation Compose 2.4.0-alpha01):
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry.destination.route