Jetpack Compose の遅延グリッド

Jan 31 2023
LazyVerticalGrid は、複数の列にまたがる垂直スクロール可能なコンテナーに項目を表示します。グリッドの使用は非常に簡単です。見た目は遅延列の使用法とほぼ同じですが、垂直グリッド列の説明が追加されています。

LazyVerticalGrid は、複数の列にまたがる垂直スクロール可能なコンテナーに項目を表示します。

グリッドの使用は非常に簡単です。見た目は遅延列の使用法とほぼ同じですが、垂直グリッド列の説明が追加されています。

Jetpack Compose を使用すると、数行のコードでこれを行うことができます。それでは、その方法を見てみましょう。

@Composable
fun GridItem(title: String, modifier: Modifier = Modifier) {
    Text(
        text = title,
        textAlign = TextAlign.Center,
        modifier = modifier
            .fillMaxWidth()
            .background(whiteColor)
            .wrapContentWidth(),
        color = MaterialTheme.colorScheme.primary
    )
}
LazyVerticalGrid(columns = GridCells.Fixed(2)) {
    items(list) { item ->
        GridItem(item)
    }
}

      
                

LazyVerticalGrid(
    columns = GridCells.Fixed(2),
    verticalArrangement = Arrangement.spacedBy(16.dp),
    horizontalArrangement = Arrangement.spacedBy(16.dp)
) {
    items(list) { item ->
        GridItem(item)
    }
}

      
                

カスタム スパンを定義できます

LazyVerticalGrid(
    columns = GridCells.Fixed(3),
    verticalArrangement = Arrangement.spacedBy(16.dp),
    horizontalArrangement = Arrangement.spacedBy(16.dp)
) {
    items(list.size, span = {GridItemSpan(if(it == 0) 3 else 1)}) { idx ->
        GridItem(list[idx])
    }
}

連絡を取り合う

  • リンクトイン