GridView Widget

A GridView displays its children in a scrollable grid layout, meaning items are arranged in rows and columns. It supports both static and dynamic (lazy-loaded) data.

Source Code​

				
					//GridView.count


import 'package:flutter/material.dart';
import 'package:ostadapp/pract1.dart';


class Gridv extends StatelessWidget {
  const Gridv({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Gridview"),
        backgroundColor: Colors.red,
      ),
      body: GridView.count(
          crossAxisCount: 2,

        padding: EdgeInsets.all(10),
        crossAxisSpacing: 10,
        mainAxisSpacing: 10,
        children: List.generate(50, (index){
          return Card(
            elevation: 3,
            shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(12)
            ),
            child: Padding(
              padding: const EdgeInsets.all(10),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Icon(Icons.add_box_sharp),
                  Text("$index no colum"),
                  Icon(Icons.delete)
                ],
              ),
            ),
          );

        })
      ),
    );
  }
}

				
			

GridView Builder

				
					import 'package:flutter/material.dart';
import 'package:ostadapp/pract1.dart';


class Gridv extends StatelessWidget {
  const Gridv({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Gridview"),
        backgroundColor: Colors.red,
      ),
      body: GridView.builder(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3,
            crossAxisSpacing: 20,
            mainAxisSpacing: 20,

          ),
          itemCount: 20,
          itemBuilder: (context, index){
            return Container(
              color: Colors.teal,
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Icon((Icons.add)),
                  Text("Index: $index"),
                  Icon(Icons.delete),
                ],
              ),
            );
          }

      )
    );
  }
}

				
			

Ai Code Analizer

🎨 Important Properties

PropertyDescription
crossAxisCountNumber of columns (in count & SliverGridDelegate)
mainAxisSpacingVertical spacing between rows
crossAxisSpacingHorizontal spacing between columns
childAspectRatioWidth/height ratio of grid items
shrinkWrapIf true, makes grid fit content (for nesting in columns)
physicsScroll behavior (like bouncing or disabling scroll)