FluidGrid

A lightweight, responsive, and customizable data grid for Flutter, built to deliver a seamless experience across web, desktop, tablet, and mobile.

Designed for modern Flutter applications where responsiveness and developer experience matter.


✨ Features

  • πŸ“± Responsive layouts for mobile, tablet, desktop, and web
  • ⚑ Lightweight and optimized for performance
  • 🎨 Fully customizable cell rendering
  • πŸ“Š Flexible column configuration
  • πŸ”„ Smooth scrolling experience
  • 🧩 Simple and intuitive API
  • 🌐 Built with Flutter Web in mind

πŸš€ Installation

dependencies:
  fluid_grid: ^0.0.4

Then run:

flutter pub get

πŸ“Έ Preview

FluidGrid Example


πŸ›  Quick Start

Scaffold(
  body: Padding(
  padding: const EdgeInsets.all(32.0),
  child: Column(
    mainAxisAlignment: MainAxisAlignment.start,
    crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        FluidGrid(
          decoration: BoxDecoration(
          border: Border.all(color: Colors.grey, width: 0.5),
          borderRadius: BorderRadius.circular(16),
          boxShadow: [
              BoxShadow(
                color: Colors.grey.withOpacity(0.5),
                spreadRadius: 2,
                blurRadius: 5,
                offset: Offset(0, 3), // changes position of shadow
              ),
            ],
          ),
          headerHeight: 50,
          isBorderEnabled: true,
          columns: [
            FluidColumn(label: Text("column1"), width: 100),
            FluidColumn(label: Text("column2"), width: 100),
            FluidColumn(label: Text("column3"), width: 100),
            FluidColumn(label: Text("column4"), width: 100),
            FluidColumn(label: Text("column5"), width: 100),
          ],
          rows: [
            FluidRow(
              height: 50,
              cells: [
                FluidDataCell(child: Text("cell1")),
                FluidDataCell(child: Text("cell2")),
                FluidDataCell(child: Text("cell3")),
                FluidDataCell(child: Text("cell4")),
                FluidDataCell(child: Text("cell5")),
              ],
            ),
            FluidRow(
              height: 50,
              cells: [
                FluidDataCell(child: Text("cell6")),
                FluidDataCell(child: Text("cell7")),
                FluidDataCell(child: Text("cell8")),
                FluidDataCell(child: Text("cell9")),
                FluidDataCell(child: Text("cell10")),
              ],
            ),
            FluidRow(
              height: 50,
              cells: [
                FluidDataCell(child: Text("cell11")),
                FluidDataCell(child: Text("cell12")),
                FluidDataCell(child: Text("cell13")),
                FluidDataCell(child: Text("cell14")),
                FluidDataCell(child: Text("cell15")),
              ],
            ),
            FluidRow(
              height: 50,
              cells: [
                FluidDataCell(child: Text("cell16")),
                FluidDataCell(child: Text("cell17")),
                FluidDataCell(child: Text("cell18")),
                FluidDataCell(child: Text("cell19")),
                FluidDataCell(child: Text("cell20")),
              ],
            ),
          ],
        ),
      ],
    ),
  ),
)

🎯 Why FluidGrid?

FluidGrid is designed for developers who need a responsive data grid without the complexity of large enterprise solutions.

It focuses on:

  • Clean API
  • Responsive layouts
  • Performance
  • Flutter-first design
  • Cross-platform consistency

πŸ“± Responsive Behavior

FluidGrid automatically adapts to different screen sizes.

Screen Behavior
Mobile Optimized for compact layouts
Tablet Adaptive columns
Desktop Full data grid experience
Web Optimized for large screens

πŸ“„ License

MIT License Β© 2026 Mayur Madhwani

Libraries

fluid_grid