PreferredSizeWidget class Null safety

An interface for widgets that can return the size this widget would prefer if it were otherwise unconstrained.

There are a few cases, notably AppBar and TabBar, where it would be undesirable for the widget to constrain its own size but where the widget needs to expose a preferred or "default" size. For example a primary Scaffold sets its app bar height to the app bar's preferred height plus the height of the system status bar.

Widgets that need to know the preferred size of their child can require that their child implement this interface by using this class rather than Widget as the type of their child property.

Use PreferredSize to give a preferred size to an arbitrary widget.

Implemented types
Implementers

Constructors

PreferredSizeWidget()

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
key Key?
Controls how one widget replaces another widget in the tree. [...]
final, inherited
preferredSize Size
The size this widget would prefer if it were otherwise unconstrained. [...]
read-only
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createElement() Element
Inflates this configuration to a concrete instance. [...]
@factory, @protected, inherited
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
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
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