TextButtonModifier class
A Material Design "Text Button".
Use text buttons on toolbars, in dialogs, or inline with other content but offset from that content with padding so that the button's presence is obvious. Text buttons do not have visible borders and must therefore rely on their position relative to other content for context. In dialogs and cards, they should be grouped together in one of the bottom corners. Avoid using text buttons where they would blend in with other content, for example in the middle of lists.
A text button is a label child
displayed on a (zero elevation)
Material widget. The label's Text and Icon widgets are
displayed in the style's ButtonStyle.foregroundColor. The
button reacts to touches by filling with the style's
ButtonStyle.backgroundColor.
The text button's default style is defined by defaultStyleOf
.
The style of this text button can be overridden with its style
parameter. The style of all text buttons in a subtree can be
overridden with the TextButtonTheme and the style of all of the
text buttons in an app can be overridden with the Theme's
ThemeData.textButtonTheme property.
The static styleFrom
method is a convenient way to create a
text button ButtonStyle from simple values.
If the onPressed and onLongPress callbacks are null, then this button will be disabled, it will not react to touch.
{@tool dartpad} This sample shows how to render a disabled TextButton, an enabled TextButton and lastly a TextButton with gradient background.
** See code in examples/api/lib/material/text_button/text_button.0.dart ** {@end-tool}
{@tool dartpad} This sample demonstrates using the statesController parameter to create a button that adds support for MaterialState.selected.
** See code in examples/api/lib/material/text_button/text_button.1.dart ** {@end-tool}
See also:
- OutlinedButton, a TextButton with a border outline.
- ElevatedButton, a filled button whose material elevates when pressed.
- material.io/design/components/buttons.html
- m3.material.io/components/buttons
- Inheritance
- Available extensions
Constructors
-
TextButtonModifier({Key? key, Widget? child, Key? modifierKey, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<
bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool autofocus = false, Clip clipBehavior = Clip.none, MaterialStatesController? statesController}) -
Create a TextButton.
const
Properties
- autofocus → bool
-
True if this widget will be selected as the initial focus when no other
node in its scope is currently focused.
finalinherited
- clipBehavior → Clip
-
The content will be clipped (or not) according to this option.
finalinherited
- focusNode → FocusNode?
-
An optional focus node to use as the focus node for this widget.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- modifierKey → Key?
-
The actual key of the widget, which Modifier wrapped
finalinherited
-
onFocusChange
→ ValueChanged<
bool> ? -
Handler called when the focus changes.
finalinherited
-
onHover
→ ValueChanged<
bool> ? -
Called when a pointer enters or exits the button response area.
finalinherited
- onLongPress → VoidCallback?
-
Called when the button is long-pressed.
finalinherited
- onPressed → VoidCallback?
-
Called when the button is tapped or otherwise activated.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- statesController → MaterialStatesController?
-
Represents the interactive "state" of this widget in terms of
a set of WidgetStates, like WidgetState.pressed and
WidgetState.focused.
finalinherited
- style → ButtonStyle?
-
Customizes this button's appearance.
finalinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
inherited
-
buildWithChild(
BuildContext context, Widget? child) → Widget -
A build method that receives an extra
child
parameter.override -
createElement(
) → SingleChildStatelessElement -
Create a SingleChildStatelessElement
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
modified(
) → Modifier -
Available on Widget, provided by the ModifierTransformer extension
Transform normal widget to Modifier -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
icon(
{Key? key, Key? modifierKey, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged< bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool? autofocus, Clip? clipBehavior, required Widget icon, required Widget label}) → SingleChildModifier -
Create a text button from a pair of widgets that serve as the button's
icon
andlabel
.