ControlButtonsComponent class
Control-buttons bar displaying action buttons with icon/label, active states, and horizontal/vertical layout.
- Filters
buttons
byshow == true
, builds list of visible buttons. - Each button displays:
- Icon:
icon
(inactive) oralternateIcon
(active); color fromactive ? activeIconColor : inactiveIconColor
(or per-button overrides). - Label:
name
text below icon; color frombuttonColor
(or per-buttoncolor
).
- Icon:
- Button tap invokes
onPress
callback (if notdisabled
). - Layout direction:
vertical == false
= Row (horizontal),vertical == true
= Column (vertical). - Alignment via
alignment
(MainAxisAlignment for main axis). - Spacing between buttons via
gap
. - Per-button customization via
customComponent
(replaces icon+label),backgroundColor
map (state colors),decoration
,padding
,margin
,constraints
. - Six builder hooks (
containerBuilder
,buttonsBuilder
,buttonBuilder
,buttonContentBuilder
,iconBuilder
,labelBuilder
) for granular customization.
Override via MediasfuUICustomOverrides.controlButtonsComponent
to inject
custom button designs, animations, tooltips, or haptic feedback.
Example Usage:
ControlButtonsComponent(
options: ControlButtonsComponentOptions(
buttons: [
ControlButton(
name: "Play",
icon: Icons.play_arrow,
onPress: () => print("Play button pressed"),
),
ControlButton(
name: "Stop",
icon: Icons.stop,
onPress: () => print("Stop button pressed"),
active: true,
),
],
alignment: MainAxisAlignment.center,
vertical: false,
buttonBackgroundColor: Colors.blue,
),
);
Notes:
- Each button can have an
active
state, displaying analternateIcon
andactiveColor
when active. - The component can be laid out horizontally or vertically based on the
vertical
property.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- ControlButtonsComponent
Constructors
- ControlButtonsComponent({Key? key, required ControlButtonsComponentOptions options})
-
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- options → ControlButtonsComponentOptions
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
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