AnimButton class

A highly customizable animated button that provides visual feedback on tap.

Use AnimButton to easily add a scaling animation to any button. It supports custom labels, child widgets, colors, gradients, and more.

Inheritance

Constructors

AnimButton({Key? key, String? label, Widget? child, double? height = 45.0, double? width = 100.0, double borderRadius = 8.0, required VoidCallback onPressed, Color buttonColor = Colors.lightBlueAccent, Gradient? gradient, Curve animationCurve = Curves.easeInOut, TextAlign? alignment = TextAlign.center, TextStyle textStyle = const TextStyle(color: Colors.white, fontSize: 15.0, letterSpacing: 1.0), double animationBegin = 1.0, double animationEnd = 0.75, Duration duration = const Duration(milliseconds: 150), EdgeInsetsGeometry? padding, EdgeInsetsGeometry? margin, List<BoxShadow>? boxShadow})
Creates an AnimButton.
const

Properties

alignment TextAlign?
Alignment for the text inside the butotn
final
animationBegin double
The starting scale value for the animation. Defaults to 1.0.
final
animationCurve Curve
The curve to use for the scaling animation.
final
animationEnd double
The ending scale value for the animation when pressed. Defaults to 0.75.
final
borderRadius double
The border radius of the button. Defaults to 8.0.
final
boxShadow List<BoxShadow>?
A list of shadows to apply to the button.
final
buttonColor Color
The background color of the button. This is ignored if gradient is provided.
final
child Widget?
A custom widget to display inside the button. If provided, label will be ignored.
final
duration Duration
The duration of the scale down animation.
final
gradient Gradient?
An optional gradient for the button background.
final
hashCode int
The hash code for this object.
no setterinherited
height double?
The height of the button. Defaults to 45.0.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
label String?
The text to display inside the button. If child is provided, this will be ignored.
final
margin EdgeInsetsGeometry?
The external margin of the button.
final
onPressed VoidCallback
Callback function called when the button is pressed.
final
padding EdgeInsetsGeometry?
The internal padding of the button.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
textStyle TextStyle
The text style for the button label.
final
width double?
The width of the button. Defaults to 100.0.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<AnimButton>
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.
inherited
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