Dismissible constructor
- required Key key,
- required Widget child,
- 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 is required 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 Dismissible({
required Key super.key,
required this.child,
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);