listView<T> static method

  1. @Deprecated('use CoolList')
Widget listView<T>(
  1. BuildContext context, {
  2. required List<T> items,
  3. required Widget widgetBuilder(
    1. T item
    ),
  4. String? msgOnEmpty,
  5. String? title,
  6. bool addDivider = true,
  7. bool startWithDivider = true,
  8. double gap = 0,
  9. bool shrinkWrap = false,
  10. Color dividerColor = Colors.grey,
  11. Widget? titleWidget,
})

Implementation

@Deprecated('use CoolList')
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, Color dividerColor = Colors.grey,
Widget? titleWidget})
{
  msgOnEmpty = msgOnEmpty ?? 'Empty List';

  if (items.isEmpty) {
    return Center(child: Text(msgOnEmpty));
  }

  Widget interleaver = addDivider
      ? Divider(thickness: 0, height: 1, color: dividerColor)
      : SizedBox(height: gap);

  Widget child;

  child = ListView(
    padding: EdgeInsets.zero,
      shrinkWrap: shrinkWrap,
      children: buildAndJoinWidgets(
        title: titleWidget,
          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.expanded()
      ]
  );
}