M3ESplitButton<T>.outlined constructor

const M3ESplitButton<T>.outlined({
  1. Key? key,
  2. required List<M3ESplitButtonItem<T>>? items,
  3. ValueChanged<T>? onSelected,
  4. VoidCallback? onPressed,
  5. String? label,
  6. IconData? leadingIcon,
  7. M3EButtonSize size = M3EButtonSize.sm,
  8. M3EButtonShape shape = M3EButtonShape.round,
  9. M3ESplitButtonTrailingAlignment trailingAlignment = M3ESplitButtonTrailingAlignment.opticalCenter,
  10. String? leadingTooltip,
  11. String? trailingTooltip,
  12. bool enabled = true,
  13. List<PopupMenuEntry<T>> menuBuilder(
    1. BuildContext
    )?,
  14. M3ESplitButtonDecoration? decoration,
  15. MouseCursor? mouseCursor,
  16. WidgetStatesController? statesController,
  17. FocusNode? focusNode,
  18. bool autofocus = false,
  19. ValueChanged<bool>? onFocusChange,
  20. T? selectedValue,
  21. void onMultiSelected(
    1. Set<T>
    )?,
  22. VoidCallback? onLongPress,
  23. ValueChanged<bool>? onHover,
  24. bool enableFeedback = _kDefaultEnableFeedback,
  25. InteractiveInkFeatureFactory? splashFactory,
})

An outlined split button (medium emphasis with a border).

Implementation

const M3ESplitButton.outlined({
  super.key,
  required this.items,
  this.onSelected,
  this.onPressed,
  this.label,
  this.leadingIcon,
  this.size = M3EButtonSize.sm,
  this.shape = M3EButtonShape.round,
  this.trailingAlignment = M3ESplitButtonTrailingAlignment.opticalCenter,
  this.leadingTooltip,
  this.trailingTooltip,
  this.enabled = true,
  this.menuBuilder,
  this.decoration,
  this.mouseCursor,
  this.statesController,
  this.focusNode,
  this.autofocus = false,
  this.onFocusChange,
  this.selectedValue,
  this.onMultiSelected,
  this.onLongPress,
  this.onHover,
  this.enableFeedback = _kDefaultEnableFeedback,
  this.splashFactory,
}) : style = M3EButtonStyle.outlined,
     assert(
       items != null || menuBuilder != null,
       'Provide either `items` or `menuBuilder`.',
     );