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 a PageRoute. Automatically repositions and resizes when the software keyboard appears.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- FlowPopupOverlay
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, required Widget triggerChild}) -
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
- triggerChild → Widget
-
The original child widget to display during the initial phase of morphing.
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