ReorderableWrap class

Reorderable (drag and drop) version of Wrap, A widget that displays its children in multiple horizontal or vertical runs.

In addition to Wrap's parameters, this widget also adds two parameters, minMainAxisCount and maxMainAxisCount, that limits how many children each run has at least and at most. For example, if the size of parent widget allows a run to have more than maxMainAxisCount children, the run is forced to end and will have maxMainAxisCount children only.

All children must have a key.

See also:

  • Wrap, which displays its children in multiple horizontal or vertical runs.
Inheritance

Constructors

ReorderableWrap({required List<Widget> children, required ReorderCallback onReorder, List<Widget>? header, Widget? footer, ScrollController? controller, Axis direction = Axis.horizontal, Axis scrollDirection = Axis.vertical, ScrollPhysics? scrollPhysics, EdgeInsets? padding, BuildItemsContainer? buildItemsContainer, BuildDraggableFeedback? buildDraggableFeedback, bool needsLongPressDraggable = true, WrapAlignment alignment = WrapAlignment.start, double spacing = 0.0, WrapAlignment runAlignment = WrapAlignment.start, double runSpacing = 0.0, WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.start, TextDirection? textDirection, VerticalDirection verticalDirection = VerticalDirection.down, int? minMainAxisCount, int? maxMainAxisCount, NoReorderCallback? onNoReorder, ReorderStartedCallback? onReorderStarted, Duration reorderAnimationDuration = const Duration(milliseconds: 200), Duration scrollAnimationDuration = const Duration(milliseconds: 200), bool ignorePrimaryScrollController = false, bool enableReorder = true, Key? key})
Creates a reorderable wrap.

Properties

alignment WrapAlignment
How the children within a run should be places in the main axis.
final
buildDraggableFeedback → BuildDraggableFeedback?
final
buildItemsContainer → BuildItemsContainer?
final
children List<Widget>
The widgets to display.
final
controller ScrollController?
A custom scroll controller. To control the initial scroll offset of the scroll view, provide a controller with its ScrollController.initialScrollOffset property set.
final
crossAxisAlignment WrapCrossAlignment
How the children within a run should be aligned relative to each other in the cross axis.
final
direction Axis
The direction to use as the main axis.
final
enableReorder bool
final
final
hashCode int
The hash code for this object.
no setterinherited
A non-reorderable header widget to show before the list.
final
ignorePrimaryScrollController bool
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
maxMainAxisCount int?
final
minMainAxisCount int?
final
needsLongPressDraggable bool
The flag of whether needs long press to trigger dragging mode. true means it needs long press and false means no need.
final
onNoReorder → NoReorderCallback?
final
onReorder ReorderCallback
Called when a child is dropped into a new position to shuffle the children.
final
onReorderStarted → ReorderStartedCallback?
Called when the draggable starts being dragged.
final
padding EdgeInsets?
The amount of space by which to inset the children.
final
reorderAnimationDuration Duration
final
runAlignment WrapAlignment
How the runs themselves should be placed in the cross axis.
final
runSpacing double
How much space to place between the runs themselves in the cross axis.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollAnimationDuration Duration
final
scrollDirection Axis
final
scrollPhysics ScrollPhysics?
How the scroll view should respond to user input.
final
spacing double
How much space to place between children in a run in the main axis.
final
textDirection TextDirection?
Determines the order to lay children out horizontally and how to interpret start and end in the horizontal direction.
final
verticalDirection VerticalDirection
Determines the order to lay children out vertically and how to interpret start and end in the vertical direction.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _ReorderableWrapState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited