FlexItem class abstract interface

A widget that configures flex properties for an individual child within a FlexBox.

FlexItem is used to wrap children of a FlexBox to specify how each child should behave within the flex layout. It provides control over sizing, positioning, flex behavior, and alignment for each individual item.

This widget works by attaching LayoutData to the child's ParentData, which the flex layout algorithm uses to determine how to size and position each child.

Example usage:

FlexBox(
  direction: FlexDirection.row,
  children: [
    FlexItem(
      flexGrow: 1.0,
      child: Container(color: Colors.red),
    ),
    FlexItem(
      width: SizeUnit.fixed(100),
      child: Container(color: Colors.blue),
    ),
  ],
)
Implemented types
Implementers

Constructors

FlexItem.new({Key? key, int? paintOrder, SizeUnit? width, SizeUnit? height, SizeUnit? minWidth, SizeUnit? maxWidth, SizeUnit? minHeight, SizeUnit? maxHeight, double flexGrow, double flexShrink, double? aspectRatio, PositionUnit? top, PositionUnit? left, PositionUnit? bottom, PositionUnit? right, BoxAlignmentGeometry? alignSelf, required Widget child})
Creates a flex item with a direct child widget and specified flex properties.
const
factory
FlexItem.builder({Key? key, int? paintOrder, SizeUnit? width, SizeUnit? height, SizeUnit? minWidth, SizeUnit? maxWidth, SizeUnit? minHeight, SizeUnit? maxHeight, double flexGrow, double flexShrink, double? aspectRatio, PositionUnit? top, PositionUnit? left, PositionUnit? bottom, PositionUnit? right, BoxAlignmentGeometry? alignSelf, required Widget builder(BuildContext context, LayoutBox box)})
Creates a flex item with a builder function for dynamic child construction.
const
factory

Properties

aspectRatio double?
The aspect ratio constraint (width/height) for this item.
no setterinherited
bottom PositionUnit?
The offset from the bottom edge of the parent container.
no setterinherited
flexGrow double
The flex grow factor for this item.
no setter
flexShrink double
The flex shrink factor for this item.
no setter
hashCode int
The hash code for this object.
no setterinherited
height SizeUnit?
The preferred height of this item.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
left PositionUnit?
The offset from the left edge of the parent container.
no setterinherited
maxHeight SizeUnit?
The maximum height constraint for this item.
no setterinherited
maxWidth SizeUnit?
The maximum width constraint for this item.
no setterinherited
minHeight SizeUnit?
The minimum height constraint for this item.
no setterinherited
minWidth SizeUnit?
The minimum width constraint for this item.
no setterinherited
paintOrder int?
The paint order for this item, controlling drawing order when overlapping. Lower values are painted first (behind), higher values are painted last (on top).
no setterinherited
The offset from the right edge of the parent container.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
top PositionUnit?
The offset from the top edge of the parent container.
no setterinherited
width SizeUnit?
The preferred width of this item.
no setterinherited

Methods

createElement() Element
Inflates this configuration to a concrete instance.
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, int wrapWidth = 65}) 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