我得到了这个代码:
val emojis = listOf("A", "B")
Column {
Text(text = "Hi")
LazyVerticalGrid(
columns = GridCells.Fixed(emojis.size),
horizontalArrangement = Arrangement.Center,
verticalArrangement = Arrangement.Center,
content = {
this.items(items = emojis) {
Text(text = it, style = MaterialTheme.typography.h6)
}
})
}
它给了我这个结果:
这不是我想要的,我希望所有的项目都占用它们所需要的空间,布局应该从中间开始,而不是Start
。
1条答案
按热度按时间uhry853o1#
不幸的是,你不能用Lazy布局来做这件事。你需要的是创建一个自定义布局,它将在设置宽度之前测量孩子的大小。你可以找到如何在here上实现它。
如果您已经知道项目的大致宽度,则可以设置最大和最小宽度。这不是你需要的,但我认为这是你能得到的最接近的。