Вы можете использовать StaggeredGridView
StaggeredGridView.countBuilder(
crossAxisCount: 2,
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
itemCount: totalCount,
itemBuilder: (BuildContext context, int index) {
return Center(
child: Container(
width: w,
height: w,
color: Colors.redAccent,
),
);
},
staggeredTileBuilder: (int index) =>
new StaggeredTile.count(index == totalCount-1 ? 2 : 1, 1),
)