textIconButton method

TextButton textIconButton({
  1. required void onPressed()?,
  2. void onLongPress()?,
  3. void onHover(
    1. bool
    )?,
  4. void onFocusChange(
    1. bool
    )?,
  5. ButtonStyle? style,
  6. FocusNode? focusNode,
  7. bool? autofocus,
  8. Clip? clipBehavior,
  9. WidgetStatesController? statesController,
  10. Widget? icon,
  11. IconAlignment? iconAlignment,
})

Creates a TextButton.icon with this widget as its label and an optional icon.

This creates a text button with both an icon and a label. The icon and label are arranged horizontally according to the iconAlignment parameter.

Text icon buttons are ideal for actions that benefit from an icon to clarify their purpose while maintaining low visual emphasis.

Parameters:

  • onPressed - Called when the button is pressed. If null, button is disabled.
  • onLongPress - Called when the button is long-pressed.
  • onHover - Called when a pointer enters or exits the button area.
  • onFocusChange - Called when the focus state of the button changes.
  • style - Customizes the button's appearance and behavior.
  • focusNode - An optional focus node to use as the focus node for this widget.
  • autofocus - Whether this widget should focus itself if nothing else is focused.
  • clipBehavior - The content will be clipped (or not) according to this option.
  • statesController - Represents the interactive state of the button.
  • icon - The icon widget to display. If null, no icon is shown.
  • iconAlignment - How to align the icon relative to the label.

Returns a TextButton configured as an icon button with this widget as the label.

Example:

Text('Help')
  .textIconButton(
    onPressed: () => showHelp(),
    icon: Icon(Icons.help_outline),
  )

See also:

Implementation

TextButton textIconButton({
  required void Function()? onPressed,
  void Function()? onLongPress,
  void Function(bool)? onHover,
  void Function(bool)? onFocusChange,
  ButtonStyle? style,
  FocusNode? focusNode,
  bool? autofocus,
  Clip? clipBehavior,
  WidgetStatesController? statesController,
  Widget? icon,
  IconAlignment? iconAlignment,
}) =>
    TextButton.icon(
      onPressed: onPressed,
      onLongPress: onLongPress,
      onHover: onHover,
      onFocusChange: onFocusChange,
      style: style,
      focusNode: focusNode,
      autofocus: autofocus,
      clipBehavior: clipBehavior,
      statesController: statesController,
      icon: icon,
      label: this,
      iconAlignment: iconAlignment,
    );