ArcaneGrid<E extends Object> constructor
const
ArcaneGrid<E extends Object> ({
- Key? key,
- required List<
E> items, - required ReorderableItemBuilder<
Widget, E> itemBuilder, - required SliverGridDelegate sliverGridDelegate,
- ReorderCallback? onReorder,
- List<
AnimationEffect> ? enterTransition, - List<
AnimationEffect> ? exitTransition, - Duration? insertDuration,
- Duration? removeDuration,
- void onReorderStart()?,
- void onReorderEnd()?,
- ReorderItemProxyDecorator? proxyDecorator,
- EdgeInsetsGeometry? padding,
- Axis scrollDirection = Axis.vertical,
- bool longPressDraggable = true,
- AnimatedWidgetBuilder<
Widget, dynamic> ? insertItemBuilder, - AnimatedWidgetBuilder<
Widget, dynamic> ? removeItemBuilder, - required bool isSameItem(
- E a,
- E b
- Duration dragStartDelay = const Duration(milliseconds: 500),
- List<
E> nonDraggableItems = const [], - List<
E> lockedItems = const [], - bool enableSwap = true,
Creates a ArcaneGrid that enables users to interactively reorder items through dragging, with animated insertion and removal of items.
Implementation
const ArcaneGrid(
{Key? key,
required this.items,
required this.itemBuilder,
required this.sliverGridDelegate,
this.onReorder,
this.enterTransition,
this.exitTransition,
this.insertDuration,
this.removeDuration,
this.onReorderStart,
this.onReorderEnd,
this.proxyDecorator,
this.padding,
this.scrollDirection = Axis.vertical,
this.longPressDraggable = true,
this.insertItemBuilder,
this.removeItemBuilder,
required this.isSameItem,
this.dragStartDelay = const Duration(milliseconds: 500),
this.nonDraggableItems = const [],
this.lockedItems = const [],
this.enableSwap = true})
: super(key: key);