Compose 中的 fillParentMaxWidth() 和 fillMaxWidth() 有什么区别?
What are differents between fillParentMaxWidth() and fillMaxWidth() in Compose?
以下代码A来自官方样本project.
我用 fillMaxWidth()
替换两个 fillParentMaxWidth()
后,似乎得到了相同的 UI 结果。
Compose 中的 fillParentMaxWidth()
和 fillMaxWidth()
有何不同?
代码A
@Composable
private fun ExploreList(
exploreList: List<ExploreModel>,
onItemClicked: OnExploreItemClicked,
modifier: Modifier = Modifier,
listState: LazyListState = rememberLazyListState(),
) {
LazyColumn(modifier = modifier, state = listState) {
items(exploreList) { exploreItem ->
Column(Modifier.fillParentMaxWidth()) {
ExploreItem(
modifier = Modifier.fillParentMaxWidth(),
item = exploreItem,
onItemClicked = onItemClicked
)
Divider(color = crane_divider_color)
}
}
item {
Spacer(modifier = Modifier.navigationBarsHeight())
}
}
}
这里使用LazyColumn
fillParentMaxWidth
填写同fillMaxWidth
.
在 LazyRow
的情况下,fillMaxWidth
将引发错误。所以可以用fillParentMaxWidth
。
另一种方式 LazyColumn
。
以下代码A来自官方样本project.
我用 fillMaxWidth()
替换两个 fillParentMaxWidth()
后,似乎得到了相同的 UI 结果。
Compose 中的 fillParentMaxWidth()
和 fillMaxWidth()
有何不同?
代码A
@Composable
private fun ExploreList(
exploreList: List<ExploreModel>,
onItemClicked: OnExploreItemClicked,
modifier: Modifier = Modifier,
listState: LazyListState = rememberLazyListState(),
) {
LazyColumn(modifier = modifier, state = listState) {
items(exploreList) { exploreItem ->
Column(Modifier.fillParentMaxWidth()) {
ExploreItem(
modifier = Modifier.fillParentMaxWidth(),
item = exploreItem,
onItemClicked = onItemClicked
)
Divider(color = crane_divider_color)
}
}
item {
Spacer(modifier = Modifier.navigationBarsHeight())
}
}
}
这里使用LazyColumn
fillParentMaxWidth
填写同fillMaxWidth
.
在 LazyRow
的情况下,fillMaxWidth
将引发错误。所以可以用fillParentMaxWidth
。
另一种方式 LazyColumn
。