Puedes administrar conjuntos de datos grandes y contenido dinámico con cuadrículas diferidas, lo que mejora el rendimiento de la app. Con los elementos componibles de cuadrícula diferida, puedes mostrar elementos en un contenedor desplazable, que abarca varias columnas o filas.
Compatibilidad de versiones
Esta implementación requiere que el minSDK de tu proyecto se establezca en el nivel de API 21 o superior.
Dependencias
Decide la orientación de la cuadrícula
Los elementos componibles LazyHorizontalGrid y LazyVerticalGrid admiten la visualización de elementos en una cuadrícula. Una cuadrícula vertical diferida muestra los elementos en un contenedor desplazable vertical, que abarca varias columnas, mientras que las cuadrículas horizontales diferidas tienen el mismo comportamiento en el eje horizontal.
Crea una cuadrícula desplazable
Con el siguiente código, se crea una cuadrícula de desplazamiento horizontal con tres columnas:
@Composable fun ScrollingGrid() { val itemsList = (0..15).toList() val itemModifier = Modifier .border(1.dp, Color.Blue) .width(80.dp) .wrapContentSize() LazyHorizontalGrid( rows = GridCells.Fixed(3), horizontalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { items(itemsList) { Text("Item is $it", itemModifier) } item { Text("Single item", itemModifier) } } }
Puntos clave sobre el código
- El elemento componible
LazyHorizontalGriddetermina la orientación horizontal de la cuadrícula.- Para crear una cuadrícula vertical, usa
LazyVerticalGrid.
- Para crear una cuadrícula vertical, usa
- La propiedad
rowsespecifica cómo organizar el contenido de la cuadrícula.- Para una cuadrícula vertical, usa la propiedad
columnspara especificar el ordenamiento.
- Para una cuadrícula vertical, usa la propiedad
items(itemsList)agregaitemsListaLazyHorizontalGrid. La expresión lambda renderiza un elementoTextcomponible para cada elemento y establece el texto en la descripción del elemento.item()agrega un solo elemento aLazyHorizontalGrid, mientras que la lambda renderiza un solo elementoTextcomponible de manera similar aitems().GridCells.Fixeddefine la cantidad de filas o columnas.Para crear una cuadrícula con tantas filas como sea posible, establece la cantidad de filas con
GridCells.Adaptive.En el siguiente código, el valor
20.dpespecifica que cada columna debe tener al menos 20 dp y que todas deben tener el mismo ancho. Si la pantalla tiene 88 dp de ancho, hay 4 columnas de 22 dp cada una.
Resultados
LazyHorizontalGrid.Colecciones que contienen esta guía
Esta guía forma parte de estas colecciones de guías rápidas seleccionadas que abarcan objetivos más amplios de desarrollo de Android:
Cómo mostrar una lista o una cuadrícula
Cómo mostrar componentes interactivos