getLayout method

  1. @override
SliverGridLayout getLayout(
  1. SliverConstraints constraints
)
override

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),
  );
}