FilledButton class
A Material Design filled button.
Filled buttons have the most visual impact after the FloatingActionButton, and should be used for important, final actions that complete a flow, like Save, Join now, or Confirm.
A filled button is a label child displayed on a Material widget. The label's Text and Icon widgets are displayed in style's ButtonStyle.foregroundColor and the button's filled background is the ButtonStyle.backgroundColor.
The filled button's default style is defined by defaultStyleOf. The style of this filled button can be overridden with its style parameter. The style of all filled buttons in a subtree can be overridden with the FilledButtonTheme, and the style of all of the filled buttons in an app can be overridden with the Theme's ThemeData.filledButtonTheme property.
The static styleFrom method is a convenient way to create a filled button ButtonStyle from simple values.
If onPressed and onLongPress callbacks are null, then the button will be disabled.
To create a 'filled tonal' button, use FilledButton.tonal.
To create a local project with this code sample, run:
flutter create --sample=material.FilledButton.1 mysample
See also:
- ElevatedButton, a filled button whose material elevates when pressed.
- OutlinedButton, a button with an outlined border and no fill color.
- TextButton, a button with no outline or fill color.
- material.io/design/components/buttons.html
- m3.material.io/components/buttons
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ButtonStyleButton
- FilledButton
Constructors
-
FilledButton({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<
bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool autofocus = false, Clip? clipBehavior = Clip.none, MaterialStatesController? statesController, required Widget? child, IconAlignment iconAlignment = IconAlignment.start}) -
Create a FilledButton.
const
-
FilledButton.icon({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<
bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool? autofocus, Clip? clipBehavior, MaterialStatesController? statesController, Widget? icon, required Widget label, IconAlignment iconAlignment = IconAlignment.start}) -
Create a filled button from
icon
andlabel
.factory -
FilledButton.tonal({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<
bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool autofocus = false, Clip? clipBehavior = Clip.none, MaterialStatesController? statesController, required Widget? child}) -
Create a tonal variant of FilledButton.
const
-
FilledButton.tonalIcon({Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<
bool> ? onHover, ValueChanged<bool> ? onFocusChange, ButtonStyle? style, FocusNode? focusNode, bool? autofocus, Clip? clipBehavior, MaterialStatesController? statesController, Widget? icon, required Widget label, IconAlignment iconAlignment = IconAlignment.start}) -
Create a filled tonal button from
icon
andlabel
.factory
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
- 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 of
a set of MaterialStates, like MaterialState.pressed and
MaterialState.focused.
finalinherited
- style → ButtonStyle?
-
Customizes this button's appearance.
finalinherited
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement 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 of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
defaultStyleOf(
BuildContext context) → ButtonStyle -
Defines the button's default appearance.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
themeStyleOf(
BuildContext context) → ButtonStyle? -
Returns the FilledButtonThemeData.style of the closest
FilledButtonTheme ancestor.
override
-
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}) → 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
-
styleFrom(
{Color? foregroundColor, Color? backgroundColor, Color? disabledForegroundColor, Color? disabledBackgroundColor, Color? shadowColor, Color? surfaceTintColor, Color? iconColor, 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 a filled button ButtonStyle given simple values.