Leniwa siatka w Jetpack Compose

Jan 31 2023
LazyVerticalGrid wyświetli swoje elementy w przewijanym w pionie kontenerze obejmującym wiele kolumn. Korzystanie z siatki jest naprawdę proste, wygląda prawie identycznie jak użycie leniwej kolumny, z dodanym opisem kolumn pionowych siatek.

LazyVerticalGrid wyświetli swoje elementy w przewijanym w pionie kontenerze obejmującym wiele kolumn.

Korzystanie z siatki jest naprawdę proste, wygląda prawie identycznie jak użycie leniwej kolumny, z dodanym opisem kolumn pionowych siatek.

Korzystając z Jetpack Compose, możesz to zrobić za pomocą kilku linii kodu. Zobaczmy więc, jak to zrobić:

@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)
    }
}

      
                

Możemy zdefiniować niestandardowe rozpiętości

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])
    }
}

Pozostać w kontakcie

  • Linkedin