Tabla de Contenido
Introducción
Ya vimos los ListView que se encargan de manejar listas secuenciales de forma vertical casi siempre pero también de forma horizontal se puede configurar su desplazamiento. En este caso veremos los GridView, que son widgets que nos permiten manejar listas en cuadrículas.
GridView
Este widget permite crear listas con diseño de cuadrículas, los que más se usan son GridView.count y GridView.extent para listas de tamaño fijo.
Constructores
GridVieweste constructor es usado para una lista pequeña de elementos los cuales van dentro delgridDelegate.GridView.builderes usado para listas de cuadrículas grandes. Las propiedadesgridDelegatey itemBuilder son obligatorias. EngridDelegatepodemos proporcionar la cantidad de elementos en una misma fila o columna dependiendo de la dirección, con la propiedadcrossAxisCount. En elitemBuilderse construye cada uno de los elementos que vamos a mostrar. También es importante agregar la propiedaditemCountpara saber la cantidad de elementos a mostrar.GridView.countes otro constructor que que de entrada le podemos proporcionar la cantidad de columnas que queremos mostrar en la propiedad requeridacrossAxisCounty una lista de widgets enchildren.GridView.customes un constructor personalizado y tiene como propiedades requeridasgridDelegateychildrenDelegate.GridView.extentes un constructor de se extiende hasta el máximo eje transversal y tiene las propiedades requeridasmaxCrossAxisExtentychildren.
Propiedades más usadas
keyidentificador del widget dentro del árbol de widgets.childrenDelegateun delegate que proporciona los elementos dentro de unGridView.controllerse puede utilizar para controlar algunas características deGridView.gridDelegateun delegate que controla el diseño de los elementos dentro delGridView.paddingla cantidad de espacio para agregar el widget hijo dentro.physicscontrola como se va a realizar el desplazamiento delGridView.reversecambia la dirección en que se muestran los elementos dentro del widget, por defecto es de arriba hacia abajo.scrollDirectiondirección del desplazamiento delGridView, puede ser horizontal o vertical, por defecto es vertical.shrinkWraplimita el espacio de movimiento de los elementos delGridViewa la cantidad que se puedan ver.
Ejemplo
class GridViewWidget extends StatelessWidget {
const GridViewWidget({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: GridView.count(
crossAxisCount: 3,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
primary: false,
children: [
Container(
height: 100,
color: Colors.yellow,
),
Container(
height: 100,
color: Colors.yellow,
),
Container(
height: 100,
color: Colors.yellow,
),
Container(
height: 100,
color: Colors.blue,
),
Container(
height: 100,
color: Colors.blue,
),
Container(
height: 100,
color: Colors.blue,
),
Container(
height: 100,
color: Colors.red,
),
Container(
height: 100,
color: Colors.red,
),
Container(
height: 100,
color: Colors.red,
),
],
),
);
}
}
Evidencias

Conclusión
En conclusión, el widget GridView es práctico para mostrar lista de tarjetas por ejemplo y mostrar allí una mínima información de primera vista.
¡Gracias por leer!
