UnconstrainedBox class Null safety

A widget that imposes no constraints on its child, allowing it to render at its "natural" size.

This allows a child to render at the size it would render if it were alone on an infinite canvas with no constraints. This container will then attempt to adopt the same size, within the limits of its own constraints. If it ends up with a different size, it will align the child based on alignment. If the box cannot expand enough to accommodate the entire child, the child will be clipped.

In debug mode, if the child overflows the container, a warning will be printed on the console, and black and yellow striped areas will appear where the overflow occurs.

See also:

  • ConstrainedBox, for a box which imposes constraints on its child.
  • Align, which loosens the constraints given to the child rather than removing them entirely.
  • Container, a convenience widget that combines common painting, positioning, and sizing widgets.
  • OverflowBox, a widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.
  • ConstraintsTransformBox, a widget that sizes its child using a transformed BoxConstraints, and shows a warning if the child overflows in debug mode.
Inheritance

Constructors

UnconstrainedBox({Key? key, Widget? child, TextDirection? textDirection, AlignmentGeometry alignment, Axis? constrainedAxis, Clip clipBehavior})
Creates a widget that imposes no constraints on its child, allowing it to render at its "natural" size. If the child overflows the parents constraints, a warning will be given in debug mode.
const

Properties

alignment AlignmentGeometry
The alignment to use when laying out the child. [...]
final
child Widget?
The widget below this widget in the tree. [...]
final
clipBehavior Clip
The content will be clipped (or not) according to this option. [...]
final
constrainedAxis Axis?
The axis to retain constraints on, if any. [...]
final
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
textDirection TextDirection?
The text direction to use when interpreting the alignment if it is an AlignmentDirectional.
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. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
override
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. [...]
@nonVirtual, inherited