SExpandableHandles class
A widget that displays an animated arrow icon for expandable menus.
The SExpandableHandles widget can operate in two modes:
Standalone Mode (Simple): When expandsRight and expandsDown are not provided, the widget manages its own internal expansion state. Simply provide onTap callback and the widget will automatically animate between states when tapped or when triggerOnTap changes.
SExpandableHandles(
width: 70,
height: 70,
iconColor: Colors.white,
onTap: () => print('Tapped!'),
)
Controlled Mode (Advanced): When expandsRight or expandsDown is provided, you control the expansion state via isExpanded. This is useful when the handle needs to reflect the state of an external expandable menu.
SExpandableHandles(
width: 70,
height: 70,
iconColor: Colors.white,
isExpanded: _isMenuExpanded,
expandsRight: true,
onTap: () => setState(() => _isMenuExpanded = !_isMenuExpanded),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- SExpandableHandles
- Available extensions
Constructors
- SExpandableHandles({Key? key, required VoidCallback onTap, required double width, required double height, required Color iconColor, bool isExpanded = false, bool? expandsRight, bool? expandsDown, bool? shoulAutodReverseHamburgerAnimationWhenComplete, dynamic onHamburgerStateAnimationCompleted(bool? state)?, bool? triggerOnTap})
-
const
Properties
- expandsDown → bool?
-
If true, menu expands downward (vertical).
final
- expandsRight → bool?
-
If true, menu expands to the right (horizontal).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → double
-
Height of the button container.
final
- iconColor → Color
-
Color applied to the arrow icon.
final
- isExpanded → bool
-
Whether the menu is currently expanded.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onHamburgerStateAnimationCompleted → dynamic Function(bool? state)?
-
Callback fired when the animation completes.
final
- onTap → VoidCallback
-
Callback invoked when the icon is tapped.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- shoulAutodReverseHamburgerAnimationWhenComplete → bool?
-
Controls the animation state externally (true = reverse/collapse).
final
- triggerOnTap → bool?
-
If true, triggers the animation on the next frame.
final
- width → double
-
Width of the button container.
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 anAnimateinstance, and returns the instance for chaining calls. Ex.myWidget.animate()is equivalent toAnimate(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< SExpandableHandles> -
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