OudsButton class
Buttons are interactive elements designed to trigger specific actions or events when tapped by a user.
This version of the button uses the text only layout which is the most used layout. Other layouts are available for this component: text + icon and icon only.
Note that in the case it is placed in an OudsColoredBox, its monochrome variant is automatically displayed.
Some tokens associated with these specific colors can be customized and are identified with the Mono
suffix (for instance OudsButtonTokens.colorBgDefaultEnabledMono
).
Parameters:
-
label: Label displayed in the button which describes the button action. Use action verbs or phrases to tell the user what will happen next.
-
icon: Icon displayed in the button. Use an icon to add additional affordance where the icon has a clear and well-established meaning.
-
onPressed: Callback invoked when the button is clicked.
Controls the enabled state of the button when loader is equal to null. When
false
, this button will not be clickable. Has no effect when loader is not null. -
loader: An optional loading progress indicator displayed in the button to indicate an ongoing operation.
-
hierarchy: The button appearance based on its OudsButtonHierarchy. A button with OudsButtonHierarchy.negative hierarchy is not allowed as a direct or indirect child of an OudsColoredBox and will throw an
IllegalStateException
.
You can use OudsButton like this :
Text only button :
This is the default layout of the component.
OudsButton(
label: 'Button',
hierarchy: OudsButtonHierarchy.defaultHierarchy,
onPressed: () {
// Handle button tap.
},
);
This is the Loading layout of the component.
OudsButton(
label: 'Button',
loader: Loader(progress: null),
hierarchy: OudsButtonHierarchy.defaultHierarchy,
onPressed: () {
// Handle button tap.
},
);
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- OudsButton
Constructors
- OudsButton.new({Key? key, String? label, String? icon, VoidCallback? onPressed, Loader? loader, required OudsButtonHierarchy hierarchy})
-
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hierarchy → OudsButtonHierarchy
-
final
- icon → String?
-
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- label → String?
-
final
- layout → OudsButtonLayout
-
Property that detects and returns the button layout based on the provided elements (text and/or icon)
no setter
- loader → Loader?
-
final
- onPressed → VoidCallback?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< OudsButton> -
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