I在API 35上创建一个JetPack组成的应用程序目标,该应用程序具有底部导航。在MainActivity.kt中
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT)
)
所有在每个屏幕中都可以组合的根,我有:
Column(
modifier = Modifier
.fillMaxSize()
.windowInsetsPadding(WindowInsets.statusBars)
) {
val tabIndex = aboutUsViewModel.tabIndex.observeAsState()
TabRow(selectedTabIndex = tabIndex.value!!) {
....
}
}
nove,状态栏是白色的,如下所示:statusbar是白色的颜色
我不知道你想要什么,但我正在使用
查看代码: -
Scaffold(
topBar = {
// Use Tab Row Here Like This
TabRow(
selectedTabIndex = tabIndex.value!!,
modifier = modifier
.fillMaxWidth()
.background(color = Your_bg_Color_of_TabRow)
.statusBarsPadding()
) {
....
}
},
modifier = modifier
.fillMaxSize()
) { innerPadding ->
/* Your Content in the Scaffold */
Column(
modifier = Modifier
.fillMaxSize()
.padding(paddingValues = innerPadding)
) {
/* Your Content Below the TopBar (Tab Row) */
}
}
我们使用
statusBarsPadding()
修饰符在我们的标签行中添加填充物,否则您的标签行将与状态栏崩溃。我们还拥有
navigationBarsPadding()
修饰符,用于在Bottombar内容中添加填充物,以避免使用底部导航杆倒塌。内置的
TopAppBar
或BottomAppBar
具有带有应用程序棒的内置填充物。如果我们要制作自定义栏内容,因此我们必须为特定的应用程序栏添加这些修饰符。
确保您在statusbarspadding()修饰符之前添加背景修饰符,因为修饰符首先添加了我们首先提供的修饰符,然后添加另一个修饰符。
我们提供的background color
也将为状态栏提供该颜色。
innerPadding
也是脚手架提供的应用程序条之间的填充。如果我们不以脚手架的内容提供它,那么我们的内容将与应用程序栏内容崩溃。如果您只想提供tosinginnerPadding
之类的区域。然后我们可以这样做: -
top
提供特定区域不会将您的内容与该应用程序栏这样的内容崩溃,例如提供InnerPadding不会使您满足于您的顶级栏内容。 我希望您能通过这种方法实现自己想要的东西。