getLayout method
Returns information about the size and position of the tiles in the grid.
Implementation
@override
SliverGridLayout getLayout(SliverConstraints constraints) {
final double tileWidth = constraints.crossAxisExtent / columnCount;
final double calculatedTileHeight =
(constraints.viewportMainAxisExtent - rowCount * 4) / rowCount;
final double tileHeight = min(calculatedTileHeight, tileWidth);
return SliverGridRegularTileLayout(
crossAxisCount: columnCount,
childCrossAxisExtent: _zeroOrGreater(tileWidth),
crossAxisStride: _zeroOrGreater(tileWidth),
childMainAxisExtent: _zeroOrGreater(tileHeight),
mainAxisStride: _zeroOrGreater(tileHeight + 4),
reverseCrossAxis: axisDirectionIsReversed(constraints.crossAxisDirection),
);
}