DismissibleModifier constructor
const
DismissibleModifier({
- Key? key,
- Widget? child,
- required Key modifierKey,
- Widget? background,
- Widget? secondaryBackground,
- ConfirmDismissCallback? confirmDismiss,
- VoidCallback? onResize,
- DismissUpdateCallback? onUpdate,
- DismissDirectionCallback? onDismissed,
- DismissDirection direction = DismissDirection.horizontal,
- Duration? resizeDuration = const Duration(milliseconds: 300),
- Map<
DismissDirection, double> dismissThresholds = const <DismissDirection, double>{}, - Duration movementDuration = const Duration(milliseconds: 200),
- double crossAxisEndOffset = 0.0,
- DragStartBehavior dragStartBehavior = DragStartBehavior.start,
- HitTestBehavior behavior = HitTestBehavior.opaque,
Creates a widget that can be dismissed.
The key
argument must not be null because Dismissibles are commonly
used in lists and removed from the list when dismissed. Without keys, the
default behavior is to sync widgets based on their index in the list,
which means the item after the dismissed item would be synced with the
state of the dismissed item. Using keys causes the widgets to sync
according to their keys and avoids this pitfall.
Implementation
const DismissibleModifier({
super.key,
super.child,
required Key super.modifierKey,
this.background,
this.secondaryBackground,
this.confirmDismiss,
this.onResize,
this.onUpdate,
this.onDismissed,
this.direction = DismissDirection.horizontal,
this.resizeDuration = const Duration(milliseconds: 300),
this.dismissThresholds = const <DismissDirection, double>{},
this.movementDuration = const Duration(milliseconds: 200),
this.crossAxisEndOffset = 0.0,
this.dragStartBehavior = DragStartBehavior.start,
this.behavior = HitTestBehavior.opaque,
}) : assert(secondaryBackground == null || background != null);