我有一个BottomNavBar
,它在Scaffold
的bottomBar
中调用。
每个屏幕都包含一个LazyColumn
,用于显示一堆图像。
由于某种原因,当我完成滚动时,BottomNavBar
与项目列表的下部重叠。
我该怎么补救呢?
这里是主活动的设置内容
SetContent{
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = "tartufozon") },
actions = {
IconButton(onClick = { Timber.d("Mail clicked") }) {
Icon(Icons.Default.Email, contentDescription = null)
}
}
)
},
bottomBar = {
BottomNavBar(navController = navController)
}
) {
BottomNavScreensController(navController = navController)
}
}
5条答案
按热度按时间cygmwpex1#
在内容中添加布局和视图,并使用其填充,如示例所示:
polkgigr2#
根据Scaffold的API定义,内部内容(包含
BottomNavScreensController
的尾随lambda)被赋予一个PaddingValues
对象,该对象为顶部应用栏、底部应用栏等提供适当的填充量。现在,您根本没有引用该填充,因此,您的内容没有被填充。这就是导致重叠的原因。
您可以在
BottomNavScreensController
周围添加一个Box
来应用填充,或者将填充直接传递到BottomNavScreensController
中,以便每个单独的屏幕都可以正确地应用填充;任一解决方案都有效。c0vxltue3#
下面是ianhanniballake的答案和注解,为了保存几分钟,代码如下所示:
gupuwyp24#
您不再需要执行任何计算。在支架内容中,执行以下操作:
jtoj6r0c5#