ZdsList.builder constructor
- {required IndexedWidgetBuilder itemBuilder,
- Key? key,
- Axis scrollDirection = Axis.vertical,
- bool reverse = false,
- ScrollController? controller,
- bool? primary,
- ScrollPhysics? physics,
- bool shrinkWrap = false,
- EdgeInsetsGeometry? padding = const EdgeInsets.symmetric(horizontal: kDefaultHorizontalPadding),
- int? itemCount,
- bool addAutomaticKeepAlives = true,
- bool addRepaintBoundaries = true,
- bool addSemanticIndexes = true,
- double? cacheExtent,
- DragStartBehavior dragStartBehavior = DragStartBehavior.start,
- ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
- String? restorationId,
- Clip clipBehavior = Clip.hardEdge,
- bool showEmpty = false}
Creates a ZdsList with an itemBuilder.
Extends ListView.builder with Zds styling and behavior.
To create a list builder with the items compacted together:
ZdsListGroup(
child: ZdsList.builder(
padding: EdgeInsets.zero,
itemBuilder: (context, index) {
return ZdsListTile(
title: Text(index.toString()),
onTap: () {},
);
},
itemCount: 10,
),
Implementation
ZdsList.builder({
required IndexedWidgetBuilder itemBuilder,
super.key,
super.scrollDirection,
super.reverse,
super.controller,
super.primary,
ScrollPhysics? physics,
super.shrinkWrap,
super.padding = const EdgeInsets.symmetric(horizontal: kDefaultHorizontalPadding),
int? itemCount,
super.addAutomaticKeepAlives,
super.addRepaintBoundaries,
super.addSemanticIndexes,
super.cacheExtent,
super.dragStartBehavior,
super.keyboardDismissBehavior,
super.restorationId,
super.clipBehavior,
this.showEmpty = false,
}) : super.separated(
physics: showEmpty && (itemCount == null || itemCount == 0) ? const NeverScrollableScrollPhysics() : physics,
itemBuilder: showEmpty && (itemCount == null || itemCount == 0) ? _emptyBuilder : itemBuilder,
itemCount: showEmpty && (itemCount == null || itemCount == 0) ? _emptyChildLength : itemCount ?? 0,
separatorBuilder: (_, __) {
if (showEmpty && !(itemCount == null || itemCount == 0)) {
return const Divider(height: 1);
}
return const SizedBox.shrink();
},
);