Android 当导航到composable时,如何隐藏BottomAppBar(带有导航包含)?
我有个问题 问题是,当我导航到“添加问题”屏幕时,我不知道如何隐藏底部的应用程序栏 我需要你的帮助 这是我的屏幕和底部的应用程序栏Android 当导航到composable时,如何隐藏BottomAppBar(带有导航包含)?,android,kotlin,navigation,android-jetpack-compose,Android,Kotlin,Navigation,Android Jetpack Compose,我有个问题 问题是,当我导航到“添加问题”屏幕时,我不知道如何隐藏底部的应用程序栏 我需要你的帮助 这是我的屏幕和底部的应用程序栏 @Composable fun Navigation() { val navController = rememberNavController() val items = listOf(Screen.Home, Screen.Search, Screen.Notifications, Screen.Profil) Scaffold(
@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)
}
}
}
我认为问题在于,这就像活动和片段一样,我有一个框,可组合屏幕在其中,我的所有页面都在其中。如果你想隐藏
底部栏,就不要输出它
比如:
Scaffold(
bottomBar = {
if (currentRoute != "xxxx") {
BottomAppBar() {
//....
}
}
},
其中currentRoute
为(至少使用导航组件2.4.0-alpha01):
哦好的,但是现在的路线是什么?因为我做了:val currentRoute=navController.currentBackStackEntry?.arguments?.getString(KEY_ROUTE),但它没有worked@Mehdi.ncb我已经更新了答案。同时检查官方文件:你回答了,但是,这是最好的方法吗?例如,当我返回时,我看到底部导航栏从底部出现(小动画-0.2s)。那么,您有没有最好的替代方案?@Mehdi.ncb老实说,我不知道是否有更好的替代方案,但我认为使用当前的API这是一种正确的方法。好的,非常感谢您,您在stackOverflow上帮助了很多人
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry.destination.route