android - 如何使用设置的全跨度或动态 GridCells 数来实现 LazyVerticalGrid。在 jetpack compose 中固定?
解决方案
LazyVerticalGrid
现在没有这样的功能。它现在是“实验性的”,这意味着可以轻松更改 api,因此如果您认为它应该包含此功能 - 您可以在Compose issue tracker上创建请求。
GridCells.Fixed
里面很简单:里面LazyColumn
有很多Row
s。
您可以使用相同的技术来创建所需的布局:
val colors = listOf(
Color.Gray,
Color.Red,
Color.Cyan,
Color.Blue,
Color.LightGray,
Color.Yellow,
Color.Magenta,
)
val rowCounts = listOf(3, 3, 1, 1, 1)
var i = 0
LazyColumn(
modifier = Modifier
.fillMaxWidth()
) {
items(rowCounts) { rowCount ->
Row(
modifier = Modifier
) {
for (j in 0 until rowCount) {
Box(
modifier = Modifier
.height(100.dp)
.weight(1f)
.background(colors[i++ % colors.count()])
)
}
}
}
}
结果:
推荐阅读
- python - 首次使用后无法使用 Tkinter 按钮
- flutter - Flutter 为自定义路由设置转换
- django - /cart/address/ 列 order_useraddress.type 的 ProgrammingError 不存在
- powershell - 尝试使用 MKLINK 链接两个硬盘驱动器之间的文件夹,但不断出现错误
- python - python 如何从 QTabwidget 获取选项卡名称
- mysql - 如何在mysql中打印表格(见图)?
- vuetify.js - v-combobox 无法列出项目
- javascript - 如何使用 Node.js 将文件写入 Postgres?
- javascript - 我如何使图像与下一个同时出现并在右边
- java - 在java中返回一个泛型而不强制转换它?