diff --git a/lib/utils/grid.dart b/lib/utils/grid.dart index f8caf879c..4998728ff 100644 --- a/lib/utils/grid.dart +++ b/lib/utils/grid.dart @@ -77,12 +77,17 @@ class SliverGridDelegateWithExtentAndRatio extends SliverGridDelegate { } SliverGridLayout? layoutCache; + double? crossAxisExtentCache; @override SliverGridLayout getLayout(SliverConstraints constraints) { // invoked before each frame assert(_debugAssertIsValid(constraints.crossAxisExtent)); - if (layoutCache != null) return layoutCache!; + if (layoutCache != null && + constraints.crossAxisExtent == crossAxisExtentCache) { + return layoutCache!; + } + crossAxisExtentCache = constraints.crossAxisExtent; int crossAxisCount = ((constraints.crossAxisExtent - crossAxisSpacing) / (maxCrossAxisExtent + crossAxisSpacing))