SExpandableMenu class

A pill-shaped expandable menu that reveals a list of icon items.

The menu starts collapsed showing only a toggle icon. When tapped it expands to display items and a close button. Every property is optional except items.

Inheritance
Available extensions

Constructors

SExpandableMenu({Key? key, double width = 50.0, double height = 70.0, required List<SExpandableItem> items, Color backgroundColor = const Color(0xFF4B5042), Color iconColor = Colors.white, Color? itemContainerColor, Duration animationDuration = const Duration(milliseconds: 400), Curve animationCurve = Curves.easeOutCubic, ExpandDirection expandDirection = ExpandDirection.auto, void onExpansionChanged(bool isExpanded)?})
const

Properties

animationCurve Curve
Curve for expand/collapse animation.
final
animationDuration Duration
Duration of expand/collapse animation.
final
backgroundColor Color
Background color of the pill container.
final
expandDirection ExpandDirection
Direction in which the menu expands. Defaults to ExpandDirection.auto for screen-aware positioning.
final
hashCode int
The hash code for this object.
no setterinherited
height double
Height of the menu (also used for the item container height).
final
iconColor Color
Color applied to all icons (hamburger/arrow and item icons).
final
itemContainerColor Color?
Optional background color for each item container.
final
items List<SExpandableItem>
Items displayed when the menu is expanded.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onExpansionChanged → void Function(bool isExpanded)?
Callback when the menu expansion state changes.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
width double
Width used for the collapsed state and as the slot width per visible item.
final

Methods

addMaterialWidget() Material

Available on Widget, provided by the GenericExtensions extension

addTooltipWidget(String toolTip) Tooltip

Available on Widget, provided by the GenericExtensions extension

animate({Key? key, List<Effect>? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) → Animate

Available on Widget, provided by the AnimateWidgetExtensions extension

Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex. myWidget.animate() is equivalent to Animate(child: myWidget).
borderRadius([BorderRadiusGeometry? borderRadius]) Widget

Available on Widget, provided by the GenericExtensions extension

boxDecoration([BoxDecoration? boxDecoration]) Widget

Available on Widget, provided by the GenericExtensions extension

colorFilter([ColorFilter? colorFilter]) Widget

Available on Widget, provided by the GenericExtensions extension

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