ScrollList.builder constructor
ScrollList.builder({
- Key? key,
- bool reverse = false,
- bool shrinkWrap = false,
- bool noScrollBehavior = false,
- bool? primary,
- Axis scrollDirection = Axis.vertical,
- Clip clipBehavior = Clip.hardEdge,
- DragStartBehavior dragStartBehavior = DragStartBehavior.start,
- String? restorationId,
- double? cacheExtent,
- ScrollPhysics? physics,
- EdgeInsetsGeometry? padding,
- RefreshConfig? refreshConfig,
- ScrollController? controller,
- ChildIndexGetter? findChildIndexCallback,
- SemanticIndexCallback? semanticIndexCallback,
- bool addAutomaticKeepALives = true,
- bool addRepaintBoundaries = true,
- bool addSemanticIndexes = true,
- required IndexedWidgetBuilder itemBuilder,
- required int itemCount,
- double? itemExtent,
- int crossAxisCount = 1,
- double mainAxisSpacing = 0,
- double crossAxisSpacing = 0,
- double childAspectRatio = 1,
- bool crossAxisFlex = false,
- double maxCrossAxisExtent = 10,
- double? mainAxisExtent,
- Widget placeholder = const PlaceholderChild(),
- Widget? header,
Implementation
ScrollList.builder({
super.key,
super.reverse = false,
super.shrinkWrap = false,
super.noScrollBehavior = false,
super.primary,
super.scrollDirection = Axis.vertical,
super.clipBehavior = Clip.hardEdge,
super.dragStartBehavior = DragStartBehavior.start,
super.restorationId,
super.cacheExtent,
super.physics,
super.padding,
super.refreshConfig,
super.controller,
ChildIndexGetter? findChildIndexCallback,
SemanticIndexCallback? semanticIndexCallback,
bool addAutomaticKeepALives = true,
bool addRepaintBoundaries = true,
bool addSemanticIndexes = true,
required IndexedWidgetBuilder itemBuilder,
required int itemCount,
double? itemExtent,
/// 多列最大列数 [crossAxisCount]>1 固定列
int crossAxisCount = 1,
/// 水平子Widget之间间距
double mainAxisSpacing = 0,
/// 垂直子Widget之间间距
double crossAxisSpacing = 0,
/// 子 Widget 宽高比例 [crossAxisCount]>1是 有效
double childAspectRatio = 1,
/// 是否开启列数自适应
/// [crossAxisFlex]=true 为多列 且宽度自适应
/// [maxCrossAxisExtent]设置最大宽度
bool crossAxisFlex = false,
/// 单个子Widget的水平最大宽度
double maxCrossAxisExtent = 10,
double? mainAxisExtent,
Widget placeholder = const PlaceholderChild(),
this.header,
this.footer,
}) : sliver = <SliverListGrid>[
SliverListGrid(
placeholder: placeholder,
mainAxisExtent: mainAxisExtent,
maxCrossAxisExtent: maxCrossAxisExtent,
crossAxisFlex: crossAxisFlex,
childAspectRatio: childAspectRatio,
crossAxisCount: crossAxisCount,
mainAxisSpacing: mainAxisSpacing,
crossAxisSpacing: crossAxisSpacing,
addSemanticIndexes: addSemanticIndexes,
addRepaintBoundaries: addRepaintBoundaries,
addAutomaticKeepALives: addAutomaticKeepALives,
findChildIndexCallback: findChildIndexCallback,
semanticIndexCallback: semanticIndexCallback,
itemBuilder: itemBuilder,
itemCount: itemCount,
itemExtent: itemExtent)
];