Abdullah Musa
07/10/2024, 2:43 PMAbdullah Musa
07/10/2024, 2:46 PM// call site
FullGrid(
columns = 7,
rows = 7,
) { _, size ->
Box(
modifier = Modifier
.size(size)
.background(Color.LightGray)
) { /*...*/ }
}
@Composable
fun FullGrid(
columns: Int,
rows: Int,
modifier: Modifier = Modifier,
content: @Composable RowScope.(index: Int, size: Dp) -> Unit,
) {
var size by remember { mutableStateOf(0.dp) }
val density = LocalDensity.current
Column(modifier = modifier) {
repeat(rows) { row ->
Row(
modifier = Modifier
.weight(1f)
.onSizeChanged {
with(density) {
size = it.height.toDp()
}
},
) {
repeat(columns) { col ->
content(col + (row * columns), size)
}
}
}
}
}
Zach Klippenstein (he/him) [MOD]
07/10/2024, 4:33 PMAbdullah Musa
07/10/2024, 4:43 PMZach Klippenstein (he/him) [MOD]
07/10/2024, 4:45 PMAbdullah Musa
07/10/2024, 4:50 PMAbdullah Musa
07/10/2024, 4:52 PMZach Klippenstein (he/him) [MOD]
07/10/2024, 4:54 PMZach Klippenstein (he/him) [MOD]
07/10/2024, 4:55 PMAbdullah Musa
07/10/2024, 4:56 PMZach Klippenstein (he/him) [MOD]
07/10/2024, 5:01 PMAbdullah Musa
07/10/2024, 5:05 PM