waterfallBuilder<T> static method
Widget
waterfallBuilder<T>({
- required SliverSimpleGridDelegate gridDelegate,
- required ChildItemBuilder<
T> childItemBuilder, - required SimpleGetxController<
List< dataController,T> > - 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,
快速构建瀑布流
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);
}