我正在使用本机 compose v1.4.0 从伴奏库迁移
FlowLayout
。
为了给列和行之间的间距,我们有 FlowCrossAxisAlignment
和 FlowMainAxisAlignment
,但是现在这种方法不可用,在新 api 的垂直轴上我们可以使用 Arrangement.spacedBy(16.dp)
但另一个轴没有类似的东西,他们给出的解决方案是在每个元素上放置底部填充,但这也适用于最后一行。有解决办法吗?
问题:https://issuetracker.google.com/issues/268365538
这是我的代码和结果:
FlowRow(modifier = modifier.background(color =Color.Blue), horizontalArrangement = Arrangement.spacedBy(16.dp)) {
chips.forEach { chip ->
Chip(
modifier = Modifier.background(color = Color.Cyan).padding(bottom = 16.dp),
label = chip.label
)
}
}
是的,这个问题有解决方案。您可以使用 Spacer 可组合项在 FlowRow 中的行之间添加空间。以下是您可以修改代码以实现此目的的方法: