gridBuilder<T> static method

Widget gridBuilder<T>({
  1. required int crossAxisCount,
  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,
})

快速构建GridView

Implementation

static Widget gridBuilder<T>({
  required int crossAxisCount,
  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) {
    return AlignedGridView.count(
        crossAxisCount: crossAxisCount,
        mainAxisSpacing: mainAxisSpacing,
        crossAxisSpacing: crossAxisSpacing,
        itemCount: controller.data?.length ?? 0,
        controller: scrollController,
        padding: padding ?? const EdgeInsets.all(0),
        physics: physics,
        shrinkWrap: shrinkWrap,
        itemBuilder: (context, index) {
          T item = controller.dataNotNull[index];
          return BaseItemWidget(
            childItemBuilder: childItemBuilder,
            item: item,
            index: index,
            onItemClick: onItemClick,
            onItemDoubleClick: onItemDoubleClick,
            onItemLongClick: onItemLongClick,
          );
        });
  }, init: dataController);
}