ViewAnchor class

Decorates a child widget with a side View.

This widget must have a View ancestor, into which the child widget is rendered.

Typically, a View or ViewCollection widget is used in the view slot to define the content of the side view(s). Those widgets may be wrapped in other non-RenderObjectWidgets (e.g. InheritedWidgets). However, no RenderObjectWidget is allowed to appear between the ViewAnchor and the next View widget in the view slot. The widgets in the view slot have access to all InheritedWidgets above the ViewAnchor in the tree.

In technical terms, the ViewAnchor can only be used in a rendering zone of the widget tree and the view slot marks the start of a new non-rendering zone (see WidgetsBinding for a definition of these zones). Typically, it is occupied by a View widget, which will start a new rendering zone.

An example use case for this widget is a tooltip for a button. The tooltip should be able to extend beyond the bounds of the main view. For this, the tooltip can be implemented as a separate View, which is anchored to the button in the main view by wrapping that button with a ViewAnchor. In this example, the view slot is configured with the tooltip View and the child is the button widget rendered into the surrounding view.

Inheritance

Constructors

ViewAnchor({Key? key, Widget? view, required Widget child})
Creates a ViewAnchor widget.
const

Properties

child Widget
The widget below this widget in the tree.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
view Widget?
The widget that defines the view anchored to this widget.
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}) 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