gridlayout-compose icon indicating copy to clipboard operation
gridlayout-compose copied to clipboard

Missing non lazy grid layout for Compose Multiplatform.

GridLayout for Compose

ci-latest-status maven-central Static Badge

GridLayout for Compose is a library that provides simple grid layout composables for Jetpack Compose and Compose Multiplatform.

grid-examples

Jetpack Compose doesn't contains non-lazy grid layout, there are only lazy grid layout. There are some alternatives, combining rows and colums or flow layout. But these alternatives are not for just grid and they need size or position calculating. This library provides grid layout with similar API to lazy grid (but for non-lazy). It helps to implement simple grid UI like implementing lazy grid.

Installation

To download this library, add dependency to your gradle:

dependencies {
    implementation("com.cheonjaeung.compose.grid:grid:<version>")
}

After the 2.0.0 version, the group id and package name is changed from io.woong.compose.grid to com.cheonjaeung.compose.grid.

Usage

usage-example

VerticalGrid(
    columns = SimpleGridCells.Fixed(3),
    modifier = Modifier.fillMaxWidth(),
) {
    for ((index, color) in colors.withIndex()) {
        ColorBox(
            modifier = Modifier,
            color = color,
            text = (index + 1).toString(),
        )
    }
}

For more information, please visit documentation site.

Changelog

Please see changelog file.

License

GridLayout for Compose is licensed under Apache License 2.0. See license file for more details.