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.



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


child Widget
The widget below this widget in the tree.
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
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.


build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel =}) String
A string representation of this object.
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
toStringShort() String
A short, textual description of this widget.


operator ==(Object other) bool
The equality operator.