listView<T> static method
Implementation
static Widget listView<T>(BuildContext context, {required List<T> items,
required Widget Function(T item) widgetBuilder,
String? msgOnEmpty, String? title, bool addDivider = true,
bool startWithDivider = true, double gap = 0, bool shrinkWrap = false})
{
msgOnEmpty = msgOnEmpty ?? 'Empty List';
if (items.isEmpty) {
return Center(child: Text(msgOnEmpty));
}
Widget interleaver = addDivider
? const Divider(thickness: 0, height: 1)
: SizedBox(height: gap);
Widget child;
child = ListView(
shrinkWrap: shrinkWrap,
children: buildAndJoinWidgets(items: items,
widgetBuilder: widgetBuilder,
interleaved: interleaver,
startWithInterleaver: startWithDivider
)
); //.onRoundedWhiteContainer();
if (title == null || title.isEmpty) {
return child;
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(title, style: Theme.of(context).textTheme.titleLarge).paddingHorizontal(10),
const SizedBox(height: 10),
child
]
);
}