@@ -15,30 +15,30 @@ import 'package:flutter/widgets.dart';
1515class ResponsiveGridView extends StatelessWidget {
1616 final Axis scrollDirection;
1717 final bool reverse;
18- final ScrollController controller;
19- final bool primary;
20- final ScrollPhysics physics;
18+ final ScrollController ? controller;
19+ final bool ? primary;
20+ final ScrollPhysics ? physics;
2121 final bool shrinkWrap;
22- final EdgeInsetsGeometry padding;
22+ final EdgeInsetsGeometry ? padding;
2323
2424 /// Align grid items together as a group.
2525 final AlignmentGeometry alignment;
2626
2727 /// A custom [SliverGridDelegate] with item size control.
2828 final ResponsiveGridDelegate gridDelegate;
2929 final IndexedWidgetBuilder itemBuilder;
30- final int itemCount;
31- final int maxRowCount;
30+ final int ? itemCount;
31+ final int ? maxRowCount;
3232 final bool addAutomaticKeepAlives;
3333 final bool addRepaintBoundaries;
3434 final bool addSemanticIndexes;
35- final double cacheExtent;
36- final int semanticChildCount;
35+ final double ? cacheExtent;
36+ final int ? semanticChildCount;
3737 final DragStartBehavior dragStartBehavior;
3838 final ScrollViewKeyboardDismissBehavior keyboardDismissBehavior;
3939
4040 ResponsiveGridView .builder ({
41- Key key,
41+ Key ? key,
4242 this .scrollDirection = Axis .vertical,
4343 this .reverse = false ,
4444 this .controller,
@@ -47,8 +47,8 @@ class ResponsiveGridView extends StatelessWidget {
4747 this .shrinkWrap = false ,
4848 this .padding,
4949 this .alignment = Alignment .centerLeft,
50- @ required this .gridDelegate,
51- @ required this .itemBuilder,
50+ required this .gridDelegate,
51+ required this .itemBuilder,
5252 this .itemCount,
5353 this .maxRowCount,
5454 this .addAutomaticKeepAlives = true ,
@@ -69,11 +69,11 @@ class ResponsiveGridView extends StatelessWidget {
6969 // must be preserved for the [BoxScrollView] to calculate
7070 // an effective padding with SafeArea. Create a
7171 // temporary variable here to avoid overwriting null.
72- EdgeInsets paddingHolder = padding ?? EdgeInsets .zero;
72+ EdgeInsets paddingHolder = padding as EdgeInsets ? ?? EdgeInsets .zero;
7373 // The maximum number of items that can fit on one row.
7474 int crossAxisCount;
7575 // The maximum number of items that fit under the max row count.
76- int maxItemCount;
76+ int ? maxItemCount;
7777 // Manual padding adjustment for alignment.
7878 EdgeInsetsGeometry alignmentPadding;
7979 // The width of all items and padding.
@@ -86,15 +86,15 @@ class ResponsiveGridView extends StatelessWidget {
8686 if (gridDelegate.crossAxisExtent != null ) {
8787 // Fixed item size.
8888 crossAxisCount = (crossAxisExtent /
89- (gridDelegate.crossAxisExtent + gridDelegate.crossAxisSpacing))
89+ (gridDelegate.crossAxisExtent! + gridDelegate.crossAxisSpacing))
9090 .floor ();
9191 crossAxisWidth = crossAxisCount *
92- (gridDelegate.crossAxisExtent + gridDelegate.crossAxisSpacing) +
92+ (gridDelegate.crossAxisExtent! + gridDelegate.crossAxisSpacing) +
9393 paddingHolder.horizontal;
9494 } else if (gridDelegate.maxCrossAxisExtent != null ) {
9595 // Max item size.
9696 crossAxisCount = (crossAxisExtent /
97- (gridDelegate.maxCrossAxisExtent +
97+ (gridDelegate.maxCrossAxisExtent! +
9898 gridDelegate.crossAxisSpacing))
9999 .ceil ();
100100 final double usableCrossAxisExtent = crossAxisExtent -
@@ -107,7 +107,7 @@ class ResponsiveGridView extends StatelessWidget {
107107 } else {
108108 // Min item size.
109109 crossAxisCount = (crossAxisExtent /
110- (gridDelegate.minCrossAxisExtent +
110+ (gridDelegate.minCrossAxisExtent! +
111111 gridDelegate.crossAxisSpacing))
112112 .floor ();
113113 final double usableCrossAxisExtent = crossAxisExtent -
@@ -155,7 +155,7 @@ class ResponsiveGridView extends StatelessWidget {
155155 }
156156 // Force row limit by calculating item limit.
157157 if (maxRowCount != null ) {
158- maxItemCount = maxRowCount * crossAxisCount;
158+ maxItemCount = maxRowCount! * crossAxisCount;
159159 }
160160 // Internal children builder delegate.
161161 SliverChildDelegate childrenDelegate = SliverChildBuilderDelegate (
@@ -191,22 +191,22 @@ class ResponsiveGridView extends StatelessWidget {
191191class _ResponsiveGridViewLayout extends BoxScrollView {
192192 final ResponsiveGridDelegate gridDelegate;
193193 final SliverChildDelegate childrenDelegate;
194- final int itemCount;
194+ final int ? itemCount;
195195
196196 _ResponsiveGridViewLayout ({
197- Key key,
197+ Key ? key,
198198 Axis scrollDirection = Axis .vertical,
199199 bool reverse = false ,
200- ScrollController controller,
201- bool primary,
202- ScrollPhysics physics,
200+ ScrollController ? controller,
201+ bool ? primary,
202+ ScrollPhysics ? physics,
203203 bool shrinkWrap = false ,
204- EdgeInsetsGeometry padding,
205- @ required this .gridDelegate,
206- @ required this .childrenDelegate,
204+ EdgeInsetsGeometry ? padding,
205+ required this .gridDelegate,
206+ required this .childrenDelegate,
207207 this .itemCount,
208- double cacheExtent,
209- int semanticChildCount,
208+ double ? cacheExtent,
209+ int ? semanticChildCount,
210210 DragStartBehavior dragStartBehavior = DragStartBehavior .start,
211211 ScrollViewKeyboardDismissBehavior keyboardDismissBehavior =
212212 ScrollViewKeyboardDismissBehavior .manual,
@@ -259,13 +259,13 @@ class ResponsiveGridDelegate extends SliverGridDelegate {
259259 assert (childAspectRatio != null && childAspectRatio > 0 );
260260
261261 /// Fixed item size.
262- final double crossAxisExtent;
262+ final double ? crossAxisExtent;
263263
264264 /// Maximum item size.
265- final double maxCrossAxisExtent;
265+ final double ? maxCrossAxisExtent;
266266
267267 /// Minimum item size.
268- final double minCrossAxisExtent;
268+ final double ? minCrossAxisExtent;
269269 final double mainAxisSpacing;
270270 final double crossAxisSpacing;
271271 final double childAspectRatio;
@@ -290,19 +290,19 @@ class ResponsiveGridDelegate extends SliverGridDelegate {
290290 // Item height.
291291 double childMainAxisExtent;
292292 // Item width.
293- double childCrossAxisExtent;
293+ double ? childCrossAxisExtent;
294294 // Switch between item sizing behaviors.
295295 if (this .crossAxisExtent != null ) {
296296 crossAxisCount =
297- (constraints.crossAxisExtent / (crossAxisExtent + crossAxisSpacing))
297+ (constraints.crossAxisExtent / (crossAxisExtent! + crossAxisSpacing))
298298 .floor ();
299299 childCrossAxisExtent = crossAxisExtent;
300- childMainAxisExtent = childCrossAxisExtent / childAspectRatio;
300+ childMainAxisExtent = childCrossAxisExtent! / childAspectRatio;
301301 mainAxisStride = childMainAxisExtent + mainAxisSpacing;
302302 crossAxisStride = childCrossAxisExtent + crossAxisSpacing;
303303 } else if (this .maxCrossAxisExtent != null ) {
304304 crossAxisCount = (constraints.crossAxisExtent /
305- (maxCrossAxisExtent + crossAxisSpacing))
305+ (maxCrossAxisExtent! + crossAxisSpacing))
306306 .ceil ();
307307 final double usableCrossAxisExtent =
308308 constraints.crossAxisExtent - crossAxisSpacing * (crossAxisCount - 1 );
@@ -312,7 +312,7 @@ class ResponsiveGridDelegate extends SliverGridDelegate {
312312 crossAxisStride = childCrossAxisExtent + crossAxisSpacing;
313313 } else {
314314 crossAxisCount = (constraints.crossAxisExtent /
315- (minCrossAxisExtent + crossAxisSpacing))
315+ (minCrossAxisExtent! + crossAxisSpacing))
316316 .floor ();
317317 final double usableCrossAxisExtent =
318318 constraints.crossAxisExtent - crossAxisSpacing * (crossAxisCount - 1 );
0 commit comments