[FlowRow
] 是与 Row
和 Column
类似的可组合项,但不同之处在于,当容器空间不足时,项会流向下一行。这会创建多个行或列。您也可以通过设置 maxItemsInEachRow
或 maxItemsInEachColumn
来控制一行中的项目数量。您经常可以使用 FlowRow
和 FlowColumn
来构建自适应布局 - 如果项因一个尺寸而过大,则内容不会被截断;将 maxItemsInEach*
与 Modifier.weight(weight)
结合使用有助于构建在需要时填充/扩大行或列宽度的布局
基本用法
FlowRow(modifier = Modifier.padding(8.dp)) {
ChipItem("Price: High to Low")
ChipItem("Avg rating: 4+")
ChipItem("Free breakfast")
ChipItem("Free cancellation")
ChipItem("£50 pn")
}
@Composable
private fun ChipItem(text:String) {
OutlinedButton(modifier = Modifier.padding(start = 8.dp), onClick = {}) {
Text(text = text)
}
}
流布局的功能
FlowRow 已设置 verticalArrangement | 效果 |
---|---|
Arrangement.Top (Default ) | |
Arrangement.Bottom | |
Arrangement.Center |