toListViewSeparated method
Widget
toListViewSeparated({
- required Widget itemBuilder(
- BuildContext context,
- T item,
- int index
- required Widget separatorBuilder(
- BuildContext context,
- int index
- Widget? emptyStateWidget,
- String defaultEmptyMessage = "There is no data to show",
- Axis scrollDirection = Axis.vertical,
- bool shrinkWrap = false,
- bool primary = false,
- 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),
);
}