toGridView method
Widget
toGridView({
- required Widget itemBuilder(
- BuildContext context,
- T item,
- int index
- Widget? emptyStateWidget,
- String defaultEmptyMessage = "There is no data to show",
- int crossAxisCount = 2,
- double crossAxisSpacing = 8.0,
- double mainAxisSpacing = 8.0,
- Axis scrollDirection = Axis.vertical,
- bool shrinkWrap = false,
- bool primary = false,
- ScrollPhysics? physics,
Creates a GridView.builder from a List with an optional empty state
Implementation
Widget toGridView({
required Widget Function(BuildContext context, T item, int index) itemBuilder,
Widget? emptyStateWidget,
String defaultEmptyMessage = "There is no data to show",
int crossAxisCount = 2,
double crossAxisSpacing = 8.0,
double mainAxisSpacing = 8.0,
Axis scrollDirection = Axis.vertical,
bool shrinkWrap = false,
bool primary = false,
ScrollPhysics? physics,
}) {
if (this == null || this!.isEmpty) {
return emptyStateWidget ??
Center(
child: Text(
defaultEmptyMessage,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 16, color: Colors.grey),
),
);
}
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
crossAxisSpacing: crossAxisSpacing,
mainAxisSpacing: mainAxisSpacing,
),
itemCount: this!.length,
scrollDirection: scrollDirection,
shrinkWrap: shrinkWrap,
primary: primary,
physics: physics,
itemBuilder: (context, index) => itemBuilder(context, this![index], index),
);
}