FlowPopupOverlay class

Renders the animated morph transition of a popup expanding from its source widget into a centered overlay.

Interpolates position, size, and BoxDecoration between the child and popup states using BoxDecoration.lerp for smooth visual transitions.

Designed to be used inside an OverlayEntry. Automatically repositions and resizes when the software keyboard appears.

Inheritance

Constructors

FlowPopupOverlay({Key? key, required Animation<double> animation, required Offset startPosition, required Offset targetPosition, required Size startSize, required Size targetSize, required BoxDecoration childDecoration, required BoxDecoration popDecoration, required EdgeInsetsGeometry childPadding, required Widget popBuilder(BuildContext), required VoidCallback onClose, required Color barrierColor})
const

Properties

animation Animation<double>
The animation driving the morph transition (typically a CurvedAnimation).
final
barrierColor Color
The color of the dimmed barrier behind the popup.
final
childDecoration BoxDecoration
The BoxDecoration for the child widget in its resting state.
final
childPadding EdgeInsetsGeometry
Inner padding applied to the child content during the morph transition.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onClose VoidCallback
Callback invoked when the dimmed barrier is tapped to dismiss the popup.
final
popBuilder Widget Function(BuildContext)
Builder that creates the popup's inner content.
final
popDecoration BoxDecoration
The BoxDecoration for the popup in its fully expanded state.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
startPosition Offset
The starting position of the popup (the source widget's global offset).
final
startSize Size
The initial size (source widget's size).
final
targetPosition Offset
The target position for the fully expanded popup.
final
targetSize Size
The final size (popup content's target size).
final

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