GradientButtonStyleButton class abstract
The base StatefulWidget class for customizable buttons defined by a GradientButtonStyle object.
Concrete subclasses must override defaultStyleOf to define the button's default styling and themeStyleOf to integrate the button with the current theme.
Subclasses of GradientButtonStyleButton include various button types with gradient support:
- GradientElevatedButton: A button with a gradient background that elevates when pressed.
This class provides a flexible API for creating custom button implementations that can leverage GradientButtonStyle for fine-grained control over appearance and behavior.
Key style properties include:
backgroundGradient: Defines the gradient used for the button's background.disabledGradient: Defines the gradient used when the button is disabled.
For more details, see:
- GradientButtonStyle: The style configuration class for GradientButtonStyleButton.
- Material Design Buttons Overview, an overview of Material Design button types and their recommended use cases.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- GradientButtonStyleButton
- Implementers
Constructors
-
GradientButtonStyleButton({Key? key, required VoidCallback? onPressed, required VoidCallback? onLongPress, required ValueChanged<
bool> ? onHover, required ValueChanged<bool> ? onFocusChange, required GradientButtonStyle? style, required FocusNode? focusNode, required bool autofocus, required Clip? clipBehavior, WidgetStatesController? statesController, bool? isSemanticButton = true, IconAlignment iconAlignment = IconAlignment.start, String? tooltip, required Widget? child}) -
An abstract const constructor. This allows subclasses to define their own
const constructors, enabling instances of those subclasses to be used
in const expressions, ensuring immutability and compile-time evaluation where applicable.
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
-
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 → WidgetStatesController?
-
Represents the interactive "state" of this widget in terms of
a set of WidgetStates, like WidgetState.pressed and
WidgetState.focused.
final
- style → GradientButtonStyle?
-
Customizes this button's appearance.
final
- tooltip → String?
-
Text that describes the action that will occur when the button is pressed or
hovered over.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< GradientButtonStyleButton> -
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) → GradientButtonStyle - Returns a GradientButtonStyle that's based primarily on the Theme's ThemeData.textTheme and ThemeData.colorScheme, but has most values filled out (non-null).
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
themeStyleOf(
BuildContext context) → GradientButtonStyle? - Returns the GradientButtonStyle 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, 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
-
allOrNull<
T> (T? value) → WidgetStateProperty< T> ? -
Returns null if
valueis null, otherwiseWidgetStatePropertyAll<T>(value). -
defaultColor(
Color? enabled, Color? disabled) → WidgetStateProperty< Color?> ? -
defaultGradient(
Gradient? enabled, Gradient? disabled) → WidgetStateProperty< Gradient?> ? -
Returns null if
enabledanddisabledare null. Otherwise, returns a WidgetStateProperty that resolves todisabledwhen WidgetState.disabled is active, andenabledotherwise. -
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
fontSizeMultiplierparameter: