“我尝试切换到 Arrangement.Start,它可以工作,但它不能在其他项目之间保持相等的间距。”
FlowRow(
modifier = Modifier
.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(8.dp),
horizontalArrangement = Arrangement.SpaceBetween, // Start alignment for boxes
) {
// Create 8 square boxes
repeat(8) {
Box(
modifier = Modifier
.size(120.dp) // Adjust size for square boxes
.background(Color.Blue) // Change color as needed
)
}
}
您想要实现的目标对于本机
FlowRow
来说是不可能的,因为不可能仅为最后一行指定单独的horizontalArrangement
。您只能通过解决方法来实现它。
LazyVerticalGrid
代替,它已经带来了您尝试实现的所有功能:
LazyVerticalGrid(
columns = GridCells.Adaptive(120.dp),
verticalArrangement = Arrangement.spacedBy(8.dp),
horizontalArrangement = Arrangement.spacedBy(8.dp)
) {
items(8) {
Box(
modifier = Modifier
.size(120.dp) // Adjust size for square boxes
.background(Color.Blue) // Change color as needed
)
}
}
输出: