CustomOutlineButton class

A customizable Material 3 outlined button.

Supports:

  • Loading state
  • Disabled state
  • Optional leading icon
  • Full-width layout
  • Custom colors and border
Inheritance

Constructors

CustomOutlineButton({Key? key, required String buttonText, required VoidCallback onPressed, required Color buttonColor, required Color textColor, required ButtonType buttonType, String? buttonTextId, IconData? icon, int iconSize = 18, Color? borderColor, double borderWidth = 2.0, bool isLoading = false, bool isFullWidth = false, bool isDisabled = false, String loadingText = "Loading..."})
Creates a customizable Material 3 outlined button.
const

Properties

borderColor Color?
Border color for outlined button type.
final
borderWidth double
Border width for outlined button type.
final
buttonColor Color
Background color of the button. Required.
final
buttonText String
Text displayed inside the button.
final
buttonTextId String?
Optional identifier that can be used for localization.
final
buttonType ButtonType
Button type: filled or outlined.
final
hashCode int
The hash code for this object.
no setterinherited
icon IconData?
Optional leading icon displayed before the button text.
final
iconSize int
Size of the optional leading icon.
final
isDisabled bool
Disables the button when set to true.
final
isFullWidth bool
Expands the button to fill the available width.
final
isLoading bool
Displays a loading indicator when set to true.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
loadingText String
Text displayed while the button is in the loading state.
final
onPressed VoidCallback
Callback invoked when the button is pressed.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
textColor Color
Color of the button text.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's 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
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