DefaultButton class

A customizable default button widget with consistent styling across the application.

DefaultButton provides a full-width elevated button with rounded corners, customizable colors, text, and padding. It follows the application's design system through Utils.appConstants.

Features:

  • Full-width button (customizable via width)
  • Rounded corners with configurable radius
  • Customizable background and text colors
  • Responsive horizontal padding
  • Consistent height from app constants

Example:

DefaultButton(
  btnText: 'Sign In',
  backgroundColor: Colors.blue,
  textColor: Colors.white,
  onButtonPressed: () => handleSignIn(),
  leftPadding: 20,
  rightPadding: 20,
);

The button automatically uses:

  • Default height from Utils.appConstants.defaultButtonHeight
  • Border radius from Utils.appConstants.defaultButtonRadius
  • Font family from Utils.appConstants.boldFontFamily
  • Font size from Utils.appConstants.textButtonFontSize
Inheritance
Available extensions

Constructors

DefaultButton({Key? key, String? btnText, double? width, VoidCallback? onButtonPressed, Color backgroundColor = Colors.black, Color textColor = Colors.white, double textFontSize = 16.0, double? leftPadding, double? rightPadding})
Creates a default button widget.
const

Properties

backgroundColor → Color
Background color of the button.
final
btnText → String?
Text displayed on the button.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leftPadding → double?
Left margin of the button.
final
marginZero → Widget

Available on Widget, provided by the WidgetMarginX extension

no setter
onButtonPressed → VoidCallback?
Callback executed when the button is pressed.
final
paddingZero → Widget

Available on Widget, provided by the WidgetPaddingX extension

no setter
rightPadding → double?
Right margin of the button.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sliverBox → Widget

Available on Widget, provided by the WidgetSliverBoxX extension

no setter
textColor → Color
Color of the button text.
final
textFontSize → double
Font size of the button text.
final
width → double?
Width of the button. Defaults to full screen width if not specified.
final

Methods

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

Available on Widget, provided by the WidgetMarginX extension

marginOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Widget

Available on Widget, provided by the WidgetMarginX extension

marginSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Widget

Available on Widget, provided by the WidgetMarginX extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paddingAll(double padding) → Widget

Available on Widget, provided by the WidgetPaddingX extension

paddingOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Widget

Available on Widget, provided by the WidgetPaddingX extension

paddingSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Widget

Available on Widget, provided by the WidgetPaddingX extension

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