我最近开始使用Jetpack Compose。我有以下可组合的:
@Composable
fun SearchScreen(navController: NavHostController) {
Scaffold(
topBar = { SearchBar() },
content = {
Column(modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())) {
Text(stringResource(id = R.string.genreFilter))
Row(
modifier = Modifier
.horizontalScroll(rememberScrollState()),
horizontalArrangement = Arrangement.spacedBy(4.dp)
) {
// some nested Composables
}
}},
)
}
但是在这个代码中,content = {...}
中的整个代码都用红色下划线表示Jetpack Compose: Content padding parameter it is not used
。我已经在this Stackoverflow Post中读到过,实际上,如果设置了bottomBar
,PaddingValues
只在脚手架中提供,显然不是这里的情况。所以我不明白为什么我会得到这个错误。
注意:应用程序实际上使用了BottomNavigation
,但不在我上面展示的Composable
中。这是否仍然以某种方式传播到这里?
4条答案
按热度按时间3lxsmp7m1#
自Compose1.2.0起,需要使用padding参数,传入
Scaffold
content
composable中。您应该将其应用于content
中最顶层的容器/视图:这样做是为了防止布局问题,例如,当脚手架有一个底部酒吧,没有使用此填充部分,您的看法将在酒吧。
您总是可以使用
@SuppressLint("UnusedMaterialScaffoldPaddingParameter")
来抑制它,但是我建议只有在您确切地知道自己在做什么的情况下才这样做。hgc7kmma2#
我在alpha版本中看到了一个错误,我使用SmallTopAppBar()Scaffold没有为两个组合对象提供填充,这两个组合对象是在彼此之上的。更新后,刚刚意识到这个错误得到了修复,Scaffold本身有一个填充,所以组合对象不再在彼此之上。
使用方法:
qcuzuvrc3#
添加
it
关键字:这应该行得通。
svujldwt4#
app build.gradle add this: