ScrollList.waterfall constructor

ScrollList.waterfall({
  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. required IndexedWidgetBuilder itemBuilder,
  16. required int itemCount,
  17. ChildIndexGetter? findChildIndexCallback,
  18. SemanticIndexCallback? semanticIndexCallback,
  19. bool addAutomaticKeepALives = true,
  20. bool addRepaintBoundaries = true,
  21. bool addSemanticIndexes = true,
  22. int? crossAxisCount,
  23. double? maxCrossAxisExtent,
  24. double mainAxisSpacing = 0,
  25. double crossAxisSpacing = 0,
  26. Widget placeholder = const PlaceholderChild(),
  27. Widget? header,
  28. Widget? footer,
})

Implementation

ScrollList.waterfall({
  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,
  required IndexedWidgetBuilder itemBuilder,
  required int itemCount,
  ChildIndexGetter? findChildIndexCallback,
  SemanticIndexCallback? semanticIndexCallback,
  bool addAutomaticKeepALives = true,
  bool addRepaintBoundaries = true,
  bool addSemanticIndexes = true,

  /// 最大列数 [crossAxisCount]>1 固定列
  int? crossAxisCount,

  /// 单个子Widget的水平最大宽度 宽度自适应列数
  double? maxCrossAxisExtent,

  /// 水平子Widget之间间距
  double mainAxisSpacing = 0,

  /// 垂直子Widget之间间距
  double crossAxisSpacing = 0,
  Widget placeholder = const PlaceholderChild(),
  this.header,
  this.footer,
})  : assert(crossAxisCount != null || maxCrossAxisExtent != null),
      sliver = <SliverWaterfallFlow>[
        SliverWaterfallFlow(
            placeholder: placeholder,
            maxCrossAxisExtent: maxCrossAxisExtent,
            mainAxisSpacing: mainAxisSpacing,
            crossAxisCount: crossAxisCount,
            crossAxisSpacing: crossAxisSpacing,
            addSemanticIndexes: addSemanticIndexes,
            addRepaintBoundaries: addRepaintBoundaries,
            addAutomaticKeepALives: addAutomaticKeepALives,
            findChildIndexCallback: findChildIndexCallback,
            semanticIndexCallback: semanticIndexCallback,
            itemBuilder: itemBuilder,
            itemCount: itemCount)
      ];