ButtonStyleButton class abstract
The base StatefulWidget class for buttons whose style is defined by a ButtonStyle object.
Concrete subclasses must override defaultStyleOf and themeStyleOf.
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.
- OutlinedButton, a button with an outlined border and no fill color.
- TextButton, a button with no outline or fill color.
- m3.material.io/components/buttons/overview, an overview of each of the Material Design button types and how they should be used in designs.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ButtonStyleButton
- Implementers
Constructors
-
ButtonStyleButton({Key? key, required VoidCallback? onPressed, required VoidCallback? onLongPress, required ValueChanged<
bool> ? onHover, required ValueChanged<bool> ? onFocusChange, required ButtonStyle? style, required FocusNode? focusNode, required bool autofocus, required Clip? clipBehavior, MaterialStatesController? statesController, bool? isSemanticButton = true, required Widget? child, IconAlignment iconAlignment = IconAlignment.start}) -
Abstract const constructor. This constructor enables subclasses to provide
const constructors so that they can be used in const expressions.
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.
final
- child → Widget?
-
Typically the button's label.
final
- clipBehavior → Clip?
-
The content will be clipped (or not) according to this option.
final
- enabled → bool
-
Whether the button is enabled or disabled.
no setter
- focusNode → FocusNode?
-
An optional focus node to use as the focus node for this widget.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- iconAlignment → IconAlignment
-
Determines the alignment of the icon within the widgets such as:
final
- isSemanticButton → bool?
-
Determine whether this subtree represents a button.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onFocusChange
→ ValueChanged<
bool> ? -
Handler called when the focus changes.
final
-
onHover
→ ValueChanged<
bool> ? -
Called when a pointer enters or exits the button response area.
final
- onLongPress → VoidCallback?
-
Called when the button is long-pressed.
final
- onPressed → VoidCallback?
-
Called when the button is tapped or otherwise activated.
final
- 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.
final
- style → ButtonStyle?
-
Customizes this button's appearance.
final
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.
override
-
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.
override
-
defaultStyleOf(
BuildContext context) → ButtonStyle - Returns a non-null ButtonStyle that's based primarily on the Theme's ThemeData.textTheme and ThemeData.colorScheme.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
themeStyleOf(
BuildContext context) → ButtonStyle? - Returns the ButtonStyle that belongs to the button's component theme.
-
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
-
allOrNull<
T> (T? value) → MaterialStateProperty< T> ? -
Returns null if
value
is null, otherwiseMaterialStatePropertyAll<T>(value)
. -
scaledPadding(
EdgeInsetsGeometry geometry1x, EdgeInsetsGeometry geometry2x, EdgeInsetsGeometry geometry3x, double fontSizeMultiplier) → EdgeInsetsGeometry -
A convenience method used by subclasses in the framework, that returns an
interpolated value based on the
fontSizeMultiplier
parameter: