flutter_staggered_grid_view 0.2.4

  • README.md
  • Example
  • Installing
  • Versions
  • 95


A Flutter staggered grid view which supports multiple columns with rows of varying sizes.

Pub Donate



  • Configurable cross-axis count or max cross-axis extent like the GridView
  • Tiles can have a fixed main-axis extent, or a multiple of the cell's length.
  • Configurable main-axis and cross-axis margins between tiles.
  • SliverStaggeredGrid for using in a CustomScrollView.
  • Staggered and Spannable grid layouts.

Screenshot Screenshot

  • Tiles can fit the content in the main axis.


Getting started

In the pubspec.yaml of your flutter project, add the following dependency:

  flutter_staggered_grid_view: "^0.2.4"

In your library add the following import:

import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';

For help getting started with Flutter, view the online documentation.



new StaggeredGridView.countBuilder(
  crossAxisCount: 4,
  itemCount: 8,
  itemBuilder: (BuildContext context, int index) => new Container(
      color: Colors.green,
      child: new Center(
        child: new CircleAvatar(
          backgroundColor: Colors.white,
          child: new Text('$index'),
  staggeredTileBuilder: (int index) =>
      new StaggeredTile.count(2, index.isEven ? 2 : 1),
  mainAxisSpacing: 4.0,
  crossAxisSpacing: 4.0,

You can find more examples in the Example project.


The StaggeredGridView follow the same constructors convention than the GridView.
There are two more constructors: countBuilder and extentBuilder. These constructors allow you to define a builder for the layout and a builder for the children.


A StaggeredGridView needs to know how to display each tile, and what widget is associated with a tile.

A tile needs to have a fixed number of cell to occupy in the cross axis. For the extent in the main axis you have 3 options:

  • You want a fixed number of cells => use StaggeredTile.count.
  • You want a fixed extent => use StaggeredTile.extent.
  • You want a variable extent, defined by the content of the tile itself => use StaggeredTile.fit.


Please see the Changelog page to know what's recently changed.


Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a new feature, please send a pull request.




  • Add Dart 2 support.


  • Fix #10 StatefulWidget.createState must return a subtype of State<AutomaticKeepAliveVariableSizeBox>.


  • Add a way to let the tile's content to define the tile's extent in the main axis.
  • Add fit constructor to StaggeredTile.


  • Add countBuilder and extendBuilder constructors to SliverStaggeredGrid


  • Remove Flutter SDK constraint


  • Remove update Flutter SDK constraint


  • Fix images in readme
  • Add dynamic resizing demo


  • Initial Open Source release



Example project for StaggeredGridView

Getting Started

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  flutter_staggered_grid_view: ^0.2.4

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter packages get

Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
Version Uploaded Documentation Archive
0.2.4 Nov 15, 2018 Go to the documentation of flutter_staggered_grid_view 0.2.4 Download flutter_staggered_grid_view 0.2.4 archive
0.2.3 Oct 21, 2018 Go to the documentation of flutter_staggered_grid_view 0.2.3 Download flutter_staggered_grid_view 0.2.3 archive
0.2.2 Jul 21, 2018 Go to the documentation of flutter_staggered_grid_view 0.2.2 Download flutter_staggered_grid_view 0.2.2 archive
0.2.1 Jun 10, 2018 Go to the documentation of flutter_staggered_grid_view 0.2.1 Download flutter_staggered_grid_view 0.2.1 archive
0.2.0 Jun 9, 2018 Go to the documentation of flutter_staggered_grid_view 0.2.0 Download flutter_staggered_grid_view 0.2.0 archive
0.1.4 May 10, 2018 Go to the documentation of flutter_staggered_grid_view 0.1.4 Download flutter_staggered_grid_view 0.1.4 archive
0.1.3 Apr 20, 2018 Go to the documentation of flutter_staggered_grid_view 0.1.3 Download flutter_staggered_grid_view 0.1.3 archive
0.1.2 Mar 12, 2018 Go to the documentation of flutter_staggered_grid_view 0.1.2 Download flutter_staggered_grid_view 0.1.2 archive
0.1.1 Feb 21, 2018 Go to the documentation of flutter_staggered_grid_view 0.1.1 Download flutter_staggered_grid_view 0.1.1 archive
0.1.0 Feb 19, 2018 Go to the documentation of flutter_staggered_grid_view 0.1.0 Download flutter_staggered_grid_view 0.1.0 archive
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Nov 15, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0
  • pana: 0.12.6
  • Flutter: 0.11.3


Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Maintenance suggestions

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11
meta 1.1.6
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
test ^1.3.0