UiMenuStack class

Bounded menu stack. Submenus morph from their selected row, covering a retained parent at parentScale. The caller owns root overlay placement/dismissal; Back and Escape pop one nested level.

Inheritance

Constructors

UiMenuStack({Key? key, required String title, required List<UiMenuNode> items, double? parentScale, @Deprecated('Use scrimOpacity instead. Scheduled removal: 1.0.0.') double blurSigma = 0, double? scrimOpacity, double? backdropBlurSigma, double? surfaceOpacity, Duration? submenuDwellDuration, String backLabel = 'Back', ValueChanged<UiMenuItem>? onSelected, VoidCallback? onDismiss, bool closeOnSelect = true, bool dismissOnTapOutside = true, bool dismissOnAncestorScroll = true, Duration? closeDuration, ValueChanged<int>? onDepthChanged, bool handleSystemBack = true, UiMenuGestureController? gestureController, UiFluidController? rootController, UiFluidGeometry? rootSourceGeometry, Color? rootSourceColor, UiFluidGeometry? rootInitialSourceGeometry, Color? rootInitialSourceColor, BorderSide? rootInitialSourceBorder, BorderSide? rootSourceBorder, List<BoxShadow>? rootSourceShadows, BoxFit rootSourceFit = BoxFit.contain, Rect? rootMenuBounds, bool rootAlignBottom = false, Widget? rootTrigger})
const

Properties

backdropBlurSigma double
no setter
backLabel String
final
blurSigma double
final
closeDuration Duration
no setter
closeOnSelect bool
final
dismissOnAncestorScroll bool
final
dismissOnTapOutside bool
final
gestureController UiMenuGestureController?
final
handleSystemBack bool
Optional More-to-menu presentation. Supply all three root properties. The caller owns the controller; outside dismissal closes this presentation as a whole, retaining nested pages until the compact endpoint is reached. An anchored host can handle route Back through its gesture controller.
final
hashCode int
The hash code for this object.
no setterinherited
items List<UiMenuNode>
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onDepthChanged ValueChanged<int>?
final
onDismiss VoidCallback?
Requests dismissal of the caller-owned root overlay. Without a callback, the bounded stack returns to its root page.
final
onSelected ValueChanged<UiMenuItem>?
final
parentScale double
no setter
rootAlignBottom bool
Places content-sized root menus against the bottom of their viewport.
final
rootController UiFluidController?
final
rootInitialSourceBorder BorderSide?
final
rootInitialSourceColor Color?
final
rootInitialSourceGeometry UiFluidGeometry?
Optional current pressed frame; closing still targets the resting source.
final
rootMenuBounds Rect?
Optional bounds for expanded menus within the animation viewport. Allows the root trigger to sit outside the expanded menu's layout area.
final
rootSourceBorder BorderSide?
final
rootSourceColor Color?
Actual compact trigger paint, interpolated into the expanded menu style. Omission preserves the shared menu surface at both endpoints.
final
rootSourceFit BoxFit
final
rootSourceGeometry UiFluidGeometry?
final
rootSourceShadows List<BoxShadow>?
final
rootTrigger Widget?
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrimOpacity double
no setter
no setter
surfaceOpacity double
no setter
title String
final

Methods

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