GridView

O GridView no Flutter é um widget que organiza seus filhos em uma grade, semelhante a uma tabela. Você pode criar uma grade horizontal ou vertical, dependendo da propriedade scrollDirection que você define. Aqui está um exemplo básico de como usar GridView:

1. GridView com GridView.count:

GridView.count cria uma grade onde você especifica o número de itens em uma linha (ou coluna, dependendo da orientação). Por exemplo, se você quer uma grade com duas colunas, você pode fazer assim:

GridView.count(
  crossAxisCount: 2, // Número de itens por linha
  children: <Widget>[
    // Seus widgets aqui
  ],
)

2. GridView com GridView.builder:

GridView.builder é útil quando você tem muitos itens para exibir e não quer carregá-los todos de uma vez na memória. Ele cria itens à medida que são rolados na tela.

GridView.builder(
  gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
    crossAxisCount: 2, // Número de itens por linha
  ),
  itemBuilder: (BuildContext context, int index) {
    // Retorna um widget para o índice fornecido
    return YourWidget(index); // Substitua "YourWidget" com o widget que você quer criar
  },
  itemCount: itemCount, // Número total de itens na grade
)

No exemplo acima, YourWidget representa o widget que você deseja criar para cada item na grade. itemCount é o número total de itens que você tem na sua grade.

3. GridView com GridView.extent:

GridView.extent cria uma grade onde todos os itens têm o mesmo tamanho.

GridView.extent(
  maxCrossAxisExtent: 150, // Largura máxima de cada item
  children: <Widget>[
    // Seus widgets aqui
  ],
)

Estes são apenas exemplos básicos. O GridView no Flutter é altamente configurável, e você pode ajustar propriedades como scrollDirection, padding, childAspectRatio e outras para personalizar a aparência e o comportamento da sua grade. Além disso, você pode adicionar funcionalidades adicionais, como seleção de itens ou gestos personalizados, dependendo das necessidades do seu aplicativo.