SliverLayoutBuilder class

Builds a sliver widget tree that can depend on its own SliverConstraints.

Similar to the LayoutBuilder widget except its builder should return a sliver widget, and SliverLayoutBuilder is itself a sliver. The framework calls the builder function at layout time and provides the current SliverConstraints. The SliverLayoutBuilder's final SliverGeometry will match the SliverGeometry of its child.

The builder function is called in the following situations:

  • The first time the widget is laid out.
  • When the parent widget passes different layout constraints.
  • When the parent widget updates this widget.
  • When the dependencies that the builder function subscribes to change.

The builder function is not called during layout if the parent passes the same constraints repeatedly.

See also:

Inheritance

Constructors

SliverLayoutBuilder({Key key, SliverLayoutWidgetBuilder builder})
Creates a sliver widget that defers its building until layout. [...]
const

Properties

builder SliverLayoutWidgetBuilder
Called at layout time to construct the widget tree. [...]
read-only, override
hashCode int
The hash code for this object. [...]
@nonVirtual, read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createElement() → _LayoutBuilderElement<SliverConstraints>
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
createRenderObject(BuildContext context) → _RenderSliverLayoutBuilder
Creates an instance of the RenderObject class that this RenderObjectWidget represents, using the configuration described by this RenderObjectWidget. [...]
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
inherited
didUnmountRenderObject(covariant RenderObject renderObject) → void
A render object previously associated with this widget has been removed from the tree. The given RenderObject will be of the same type as returned by this object's createRenderObject.
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent 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
Returns 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
updateRenderObject(BuildContext context, covariant RenderObject renderObject) → void
Copies the configuration described by this RenderObjectWidget to the given RenderObject, which will be of the same type as returned by this object's createRenderObject. [...]
@protected, inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
@nonVirtual, inherited