Skip to content

Grid ​

响应式布局栅格,将各项排入等宽的轨道中。不指定 columns 时,它会根据可用宽度自适应(小于 600dp 为 4 列,小于 1024dp 为 8 列,否则为 12 列)。指定 columns 时则精确渲染相应数量的轨道。最后一行会用空轨道补齐,以保持宽度均匀。

Import ​

kotlin
import io.github.heartcoolman.prism.ui.PrismGrid

Basic usage ​

kotlin
PrismGrid(items = listOf("A", "B", "C", "D"), columns = 2) { item ->
    Text(item)
}

Responsive ​

省略 columns,让栅格根据可用宽度自行选择轨道数量。

kotlin
PrismGrid(items = products) { product ->
    PrismCard { Text(product.name) }
}

Custom gap ​

gap 默认为 PrismTheme.spacing.s5;传入任意 Dp 即可覆盖。

kotlin
PrismGrid(
    items = listOf(1, 2, 3, 4, 5, 6),
    columns = 3,
    gap = PrismTheme.spacing.s3,
) { n ->
    Text("Item $n")
}

API ​

PrismGrid ​

参数类型默认值说明
itemsList<T>—按顺序渲染到栅格中的各项。
modifierModifierModifier应用于根容器的 Modifier。
columnsInt?null固定轨道数量;为 null 时栅格自适应(4 / 8 / 12)。
gapDpDp.Unspecified轨道与行之间的间距;未指定时回退为 spacing.s5。
itemContent@Composable (T) -> Unit—为每一项渲染的内容。

基于 MIT 许可发布。