ScrollList.builder constructor

ScrollList.builder({
  1. Key? key,
  2. bool reverse = false,
  3. bool shrinkWrap = false,
  4. bool noScrollBehavior = false,
  5. bool? primary,
  6. Axis scrollDirection = Axis.vertical,
  7. Clip clipBehavior = Clip.hardEdge,
  8. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  9. String? restorationId,
  10. double? cacheExtent,
  11. ScrollPhysics? physics,
  12. EdgeInsetsGeometry? padding,
  13. RefreshConfig? refreshConfig,
  14. ScrollController? controller,
  15. ChildIndexGetter? findChildIndexCallback,
  16. SemanticIndexCallback? semanticIndexCallback,
  17. bool addAutomaticKeepALives = true,
  18. bool addRepaintBoundaries = true,
  19. bool addSemanticIndexes = true,
  20. required IndexedWidgetBuilder itemBuilder,
  21. required int itemCount,
  22. double? itemExtent,
  23. int crossAxisCount = 1,
  24. double mainAxisSpacing = 0,
  25. double crossAxisSpacing = 0,
  26. double childAspectRatio = 1,
  27. bool crossAxisFlex = false,
  28. double maxCrossAxisExtent = 10,
  29. double? mainAxisExtent,
  30. Widget placeholder = const PlaceholderChild(),
  31. Widget? header,
  32. Widget? footer,
})

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)
      ];