waterfallBuilder<T> static method

Widget waterfallBuilder<T>({
  1. required SliverSimpleGridDelegate gridDelegate,
  2. required ChildItemBuilder<T> childItemBuilder,
  3. required SimpleGetxController<List<T>> dataController,
  4. OnItemClick<T>? onItemClick,
  5. OnItemDoubleClick<T>? onItemDoubleClick,
  6. OnItemLongClick<T>? onItemLongClick,
  7. ScrollController? scrollController,
  8. double mainAxisSpacing = 0.0,
  9. double crossAxisSpacing = 0.0,
  10. EdgeInsetsGeometry? padding,
  11. ScrollPhysics? physics,
  12. bool shrinkWrap = false,
})

快速构建瀑布流

Implementation

static Widget waterfallBuilder<T>({
  required SliverSimpleGridDelegate gridDelegate,
  required ChildItemBuilder<T> childItemBuilder,
  required SimpleGetxController<List<T>> dataController,
  OnItemClick<T>? onItemClick,
  OnItemDoubleClick<T>? onItemDoubleClick,
  OnItemLongClick<T>? onItemLongClick,
  ScrollController? scrollController,
  double mainAxisSpacing = 0.0,
  double crossAxisSpacing = 0.0,
  EdgeInsetsGeometry? padding,
  ScrollPhysics? physics,
  bool shrinkWrap = false,
}) {
  return GetBuilderUtil.builder(
      (controller) => MasonryGridView.builder(
          gridDelegate: gridDelegate,
          controller: scrollController,
          mainAxisSpacing: mainAxisSpacing,
          crossAxisSpacing: crossAxisSpacing,
          padding: padding ?? const EdgeInsets.all(0),
          itemCount: controller.data?.length ?? 0,
          itemBuilder: (context, index) {
            T item = controller.dataNotNull[index];
            return BaseItemWidget(
              childItemBuilder: childItemBuilder,
              item: item,
              index: index,
              onItemClick: onItemClick,
              onItemDoubleClick: onItemDoubleClick,
              onItemLongClick: onItemLongClick,
            );
          }),
      init: dataController);
}