Rul*_*lan 3 android flowlayout android-jetpack-compose jetpack-compose-accompanist
我正在FlowLayout从带有本机 compose v1.4.0 的伴奏库迁移。为了给出列和行之间的间距,我们有FlowCrossAxisAlignment和FlowMainAxisAlignment,但是现在这种方法不可用,在新 api 中的垂直轴上FlowRow我们可以使用,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
)
}
}
Run Code Online (Sandbox Code Playgroud)
正如您在底部看到的,生成了青色填充,这就是我想要避免的
编辑:问题报告中的提案似乎已被接受,他们将在下一个版本中添加该功能。
看起来最近添加了对此的支持: https ://issuetracker.google.com/issues/268365538
https://android-review.googlesource.com/c/platform/frameworks/support/+/2478295
但是,我认为它实际上还没有发布版本。看起来它是在 23 月 23 日 Jetpack Compose 更新后几天合并的,我认为从那时起就没有发布过新版本。好消息是,此功能应该在下一个版本中提供。
编辑:正如另一个答案所述,此功能在 androidx.compose.foundation:foundation-layout 中可用。截至发表评论时,版本为 beta02。因此,添加到implementation "androidx.compose.foundation:foundation-layout:1.5.0-beta02"您的build.gradle将使. 我测试了这个,它确实有效。verticalArrangementFlowRow
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |