OutlinedButton class
A Material Design "Outlined Button"; essentially aTextButtonwith an outlined border.
Outlined buttons are medium-emphasis buttons. They contain actionsthat are important, but they aren’t the primary action in an app.
An outlined button is a labelchild displayed on a (zeroelevation)Material widget. The label'sText andIconwidgets are displayed in thestyle'sButtonStyle.foregroundColor and the outline's weight and colorare defined byButtonStyle.side. The button reacts to touchesby filling with thestyle'sButtonStyle.overlayColor.
The outlined button's default style is defined bydefaultStyleOf.The style of this outline button can be overridden with itsstyleparameter. The style of all text buttons in a subtree can beoverridden with theOutlinedButtonTheme and the style of all of theoutlined buttons in an app can be overridden with theTheme'sThemeData.outlinedButtonTheme property.
UnlikeTextButton orElevatedButton, outline buttons have adefaultButtonStyle.side which defines the appearance of theoutline. Because the defaultside is non-null, itunconditionally overrides the shape'sOutlinedBorder.side. Inother words, to specify an outlined button's shapeand theappearance of its outline, both theButtonStyle.shape andButtonStyle.side properties must be specified.
To create a local project with this code sample, run:
flutter create --sample=material.OutlinedButton.1 mysample
The staticstyleFrom method is a convenient way to create aoutlined buttonButtonStyle from simple values.
See also:
- ElevatedButton, a filled button whose material elevates when pressed.
- FilledButton, a filled button that doesn't elevate when pressed.
- FilledButton.tonal, a filled button variant that uses a secondary fill color.
- TextButton, a button with no outline or fill color.
- material.io/design/components/buttons.html
- m3.material.io/components/buttons
- Inheritance
Constructors
- OutlinedButton({Key?key,requiredVoidCallback?onPressed,VoidCallback?onLongPress,ValueChanged<
bool> ?onHover,ValueChanged<bool> ?onFocusChange,ButtonStyle?style,FocusNode?focusNode,boolautofocus =false,Clip?clipBehavior,MaterialStatesController?statesController,requiredWidget?child}) - Create an OutlinedButton.const
- OutlinedButton.icon({Key?key,requiredVoidCallback?onPressed,VoidCallback?onLongPress,ValueChanged<
bool> ?onHover,ValueChanged<bool> ?onFocusChange,ButtonStyle?style,FocusNode?focusNode,boolautofocus =false,Clip?clipBehavior,MaterialStatesController?statesController,Widget?icon,requiredWidgetlabel,IconAlignment?iconAlignment}) - Create a text button from a pair of widgets that serve as the button's
iconandlabel.
Properties
- autofocus→bool
- True if this widget will be selected as the initial focus when no othernode in its scope is currently focused.finalinherited
- child→Widget?
- Typically the button's label.finalinherited
- clipBehavior→Clip?
- The content will be clipped (or not) according to this option.finalinherited
- enabled→bool
- Whether the button is enabled or disabled.no setterinherited
- 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
- iconAlignment→IconAlignment?
- Determines the alignment of the icon within the widgets such as:finalinherited
- isSemanticButton→bool?
- Determine whether this subtree represents a button.finalinherited
- key→Key?
- Controls how one widget replaces another widget in the tree.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 ofa set ofWidgetStates, likeWidgetState.pressed andWidgetState.focused.finalinherited
- style→ButtonStyle?
- Customizes this button's appearance.finalinherited
- tooltip→String?
- Text that describes the action that will occur when the button is pressed orhovered over.finalinherited
Methods
- createElement(
)→StatefulElement - Creates aStatefulElement to manage this widget's location in the tree.inherited
- createState(
)→State< ButtonStyleButton> - Creates the mutable state for this widget at a given location in the tree.inherited
- debugDescribeChildren(
)→List< DiagnosticsNode> - Returns a list ofDiagnosticsNode objects describing this node'schildren.inherited
- debugFillProperties(
DiagnosticPropertiesBuilderproperties)→ void - Add additional properties associated with the node.inherited
- defaultStyleOf(
BuildContextcontext)→ButtonStyle - Defines the button's default appearance.override
- noSuchMethod(
Invocationinvocation)→ dynamic - Invoked when a nonexistent method or property is accessed.inherited
- themeStyleOf(
BuildContextcontext)→ButtonStyle? - Returns the ButtonStyle that belongs to the button's component theme.override
- toDiagnosticsNode(
{String?name,DiagnosticsTreeStyle?style})→DiagnosticsNode - Returns a debug representation of the object that is used by debuggingtools and byDiagnosticsNode.toStringDeep.inherited
- toString(
{DiagnosticLevelminLevel =DiagnosticLevel.info})→String - A string representation of this object.inherited
- toStringDeep(
{StringprefixLineOne ='',String?prefixOtherLines,DiagnosticLevelminLevel =DiagnosticLevel.debug,intwrapWidth =65})→String - Returns a string representation of this node and its descendants.inherited
- toStringShallow(
{Stringjoiner =', ',DiagnosticLevelminLevel =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 ==(
Objectother)→bool - The equality operator.inherited
Static Methods
- styleFrom(
{Color?foregroundColor,Color?backgroundColor,Color?disabledForegroundColor,Color?disabledBackgroundColor,Color?shadowColor,Color?surfaceTintColor,Color?iconColor,double?iconSize,IconAlignment?iconAlignment,Color?disabledIconColor,Color?overlayColor,double?elevation,TextStyle?textStyle,EdgeInsetsGeometry?padding,Size?minimumSize,Size?fixedSize,Size?maximumSize,BorderSide?side,OutlinedBorder?shape,MouseCursor?enabledMouseCursor,MouseCursor?disabledMouseCursor,VisualDensity?visualDensity,MaterialTapTargetSize?tapTargetSize,Duration?animationDuration,bool?enableFeedback,AlignmentGeometry?alignment,InteractiveInkFeatureFactory?splashFactory,ButtonLayerBuilder?backgroundBuilder,ButtonLayerBuilder?foregroundBuilder})→ButtonStyle - A static convenience method that constructs an outlined buttonButtonStyle given simple values.