toGridView method

Widget toGridView({
  1. required Widget itemBuilder(
    1. BuildContext context,
    2. T item,
    3. int index
    ),
  2. Widget? emptyStateWidget,
  3. String defaultEmptyMessage = "There is no data to show",
  4. int crossAxisCount = 2,
  5. double crossAxisSpacing = 8.0,
  6. double mainAxisSpacing = 8.0,
  7. Axis scrollDirection = Axis.vertical,
  8. bool shrinkWrap = false,
  9. bool primary = false,
  10. 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),
  );
}