toListViewSeparated method

Widget toListViewSeparated({
  1. required Widget itemBuilder(
    1. BuildContext context,
    2. T item,
    3. int index
    ),
  2. required Widget separatorBuilder(
    1. BuildContext context,
    2. int index
    ),
  3. Widget? emptyStateWidget,
  4. String defaultEmptyMessage = "There is no data to show",
  5. Axis scrollDirection = Axis.vertical,
  6. bool shrinkWrap = false,
  7. bool primary = false,
  8. ScrollPhysics? physics,
})

Creates a ListView.separated from a List with an optional empty state

Implementation

Widget toListViewSeparated({
  required Widget Function(BuildContext context, T item, int index) itemBuilder,
  required Widget Function(BuildContext context, int index) separatorBuilder,
  Widget? emptyStateWidget,
  String defaultEmptyMessage = "There is no data to show",
  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 ListView.separated(
    itemCount: this!.length,
    scrollDirection: scrollDirection,
    shrinkWrap: shrinkWrap,
    primary: primary,
    physics: physics,
    itemBuilder: (context, index) => itemBuilder(context, this![index], index),
    separatorBuilder: (context, index) => separatorBuilder(context, index),
  );
}