FPointPortal class

A portal that "floats" on top of a child widget, anchored at a specific point within the child's local coordinate space.

Use this when the anchor is a single point such as a cursor location for a context menu, a glyph position for a tooltip, or a touch position. For bounds-anchored overlays, use FPortal instead.

See:

Inheritance

Constructors

FPointPortal({required Widget portalBuilder(BuildContext context, OverlayPortalController controller), required Offset point, FOverlayControl control = const .managed(), BoxConstraints constraints = const BoxConstraints(), AlignmentGeometry anchor = .topLeft, double spacing = 0, FPortalOverflow overflow = .flip, Offset offset = .zero, bool useViewPadding = true, bool useViewInsets = true, EdgeInsetsGeometry padding = .zero, Widget barrier(RenderBox? cutout)?, ValueWidgetBuilder<OverlayPortalController> builder = FOverlay.defaultBuilder, Widget? child, Key? key})
Creates a point-anchored portal.
const

Properties

anchor AlignmentGeometry
The anchor point on the portal used for positioning relative to point.
final
barrier Widget Function(RenderBox? cutout)?
An optional barrier builder that is displayed behind the portal.
final
builder ValueWidgetBuilder<OverlayPortalController>
An optional builder for the child widget.
final
child Widget?
The child which the portal is anchored within.
final
constraints BoxConstraints
The portal's size constraints. Defaults to no constraints.
final
control FOverlayControl
The control.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
offset Offset
Additional translation to apply to the portal's position.
final
overflow FPortalOverflow
The callback used to shift a portal when it overflows out of the viewport.
final
padding EdgeInsetsGeometry
The additional padding between the edges of the view and the edges of the portal.
final
point Offset
The point within the child's local coordinate space at which to anchor the portal.
final
portalBuilder Widget Function(BuildContext context, OverlayPortalController controller)
The portal builder which returns the floating content.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
spacing double
The gap, in logical pixels, between point and the portal's anchor.
final
useViewInsets bool
Whether to avoid the platform view's insets (the soft keyboard).
final
useViewPadding bool
Whether to avoid the platform view's padding (static safe areas like the notch and status bar).
final

Methods

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