MaterialAdaptiveActions<T extends Object> constructor

const MaterialAdaptiveActions<T extends Object>({
  1. Key? key,
  2. required ActionCollection<T> actions,
  3. required ValueChanged<T> onInvoke,
  4. required double primaryCapacity,
  5. Iterable<ActionId> primaryOrderOverride = const [],
  6. Iterable<ActionId> overflowOrderOverride = const [],
  7. ActionLayoutResolver resolver = const ActionLayoutResolver(),
  8. int? maxPrimaryActions,
  9. MaterialActionIconBuilder<T>? iconBuilder,
  10. MaterialActionButtonBuilder<T>? actionButtonBuilder,
  11. MaterialOverflowButtonBuilder? overflowButtonBuilder,
  12. required Widget overflowIcon,
  13. String overflowTooltip = '',
  14. MaterialActionPresentationCallback<T>? presentationForAction,
  15. MaterialActionPresentation? presentationOverride,
  16. MaterialAdaptiveActionsStyle style = const MaterialAdaptiveActionsStyle(),
  17. bool menuAnimationEnabled = true,
  18. Duration fadeDuration = const Duration(milliseconds: 200),
  19. Duration resizeDuration = const Duration(milliseconds: 200),
  20. Curve switchInCurve = Curves.easeOut,
  21. Curve switchOutCurve = Curves.easeIn,
})

Creates a generic Material primary action region.

The host must provide overflowIcon. Use MaterialAdaptiveActions.moreAction for the conventional Material More icon.

Implementation

const MaterialAdaptiveActions({
  super.key,
  required this.actions,
  required this.onInvoke,
  required this.primaryCapacity,
  this.primaryOrderOverride = const [],
  this.overflowOrderOverride = const [],
  this.resolver = const ActionLayoutResolver(),
  this.maxPrimaryActions,
  this.iconBuilder,
  this.actionButtonBuilder,
  this.overflowButtonBuilder,
  required this.overflowIcon,
  this.overflowTooltip = '',
  this.presentationForAction,
  this.presentationOverride,
  this.style = const MaterialAdaptiveActionsStyle(),
  this.menuAnimationEnabled = true,
  this.fadeDuration = const Duration(milliseconds: 200),
  this.resizeDuration = const Duration(milliseconds: 200),
  this.switchInCurve = Curves.easeOut,
  this.switchOutCurve = Curves.easeIn,
}) : assert(primaryCapacity >= 0 && primaryCapacity < double.infinity);