MaterialAdaptiveActions<T extends Object> constructor
const
MaterialAdaptiveActions<T extends Object> ({
- Key? key,
- required ActionCollection<
T> actions, - required ValueChanged<
T> onInvoke, - required double primaryCapacity,
- Iterable<
ActionId> primaryOrderOverride = const [], - Iterable<
ActionId> overflowOrderOverride = const [], - ActionLayoutResolver resolver = const ActionLayoutResolver(),
- int? maxPrimaryActions,
- MaterialActionIconBuilder<
T> ? iconBuilder, - MaterialActionButtonBuilder<
T> ? actionButtonBuilder, - MaterialOverflowButtonBuilder? overflowButtonBuilder,
- required Widget overflowIcon,
- String overflowTooltip = '',
- MaterialActionPresentationCallback<
T> ? presentationForAction, - MaterialActionPresentation? presentationOverride,
- MaterialAdaptiveActionsStyle style = const MaterialAdaptiveActionsStyle(),
- Duration fadeDuration = const Duration(milliseconds: 200),
- Duration resizeDuration = const Duration(milliseconds: 200),
- Curve switchInCurve = Curves.easeOut,
- 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);