ResponsiveListView.separated constructor
ResponsiveListView.separated({
- Key? key,
- BreakpointsData<
Axis> ? scrollDirection, - BreakpointsData<
bool> ? reverse, - ScrollController? controller,
- bool? primary,
- BreakpointsData<
ScrollPhysics> ? physics, - BreakpointsData<
bool> ? shrinkWrap, - BreakpointsData<
EdgeInsets> ? padding, - double? cacheExtent,
- BreakpointsData<
DragStartBehavior> ? dragStartBehavior, - BreakpointsData<
ScrollViewKeyboardDismissBehavior> ? keyboardDismissBehavior, - BreakpointsData<
Clip> ? clipBehavior, - required IndexedWidgetBuilder itemBuilder,
- required IndexedWidgetBuilder separatorBuilder,
- required int itemCount,
- bool addAutomaticKeepAlives = true,
- bool addRepaintBoundaries = true,
- bool addSemanticIndexes = true,
Same as ListView.separated
Implementation
ResponsiveListView.separated({
super.key,
this.scrollDirection,
this.reverse,
this.controller,
this.primary,
this.physics,
this.shrinkWrap,
this.padding,
this.cacheExtent,
this.dragStartBehavior,
this.keyboardDismissBehavior,
this.clipBehavior,
required IndexedWidgetBuilder itemBuilder,
required IndexedWidgetBuilder separatorBuilder,
required int itemCount,
bool addAutomaticKeepAlives = true,
bool addRepaintBoundaries = true,
bool addSemanticIndexes = true,
}) : childrenDelegate = SliverChildBuilderDelegate(
(context, index) {
final int itemIndex = index ~/ 2;
if (index.isEven) return itemBuilder(context, itemIndex);
return separatorBuilder(context, itemIndex);
},
childCount: math.max(0, itemCount * 2 - 1),
addAutomaticKeepAlives: addAutomaticKeepAlives,
addRepaintBoundaries: addRepaintBoundaries,
addSemanticIndexes: addSemanticIndexes,
);