Flex constructor

const Flex({
  1. Key? key,
  2. required Axis direction,
  3. MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
  4. MainAxisSize mainAxisSize = MainAxisSize.max,
  5. CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
  6. TextDirection? textDirection,
  7. VerticalDirection verticalDirection = VerticalDirection.down,
  8. TextBaseline? textBaseline,
  9. Clip clipBehavior = Clip.none,
  10. List<Widget> children = const <Widget>[],
})

Creates a flex layout.

The direction is required.

If crossAxisAlignment is CrossAxisAlignment.baseline, then textBaseline must not be null.

The textDirection argument defaults to the ambient Directionality, if any. If there is no ambient directionality, and a text direction is going to be necessary to decide which direction to lay the children in or to disambiguate start or end values for the main or cross axis directions, the textDirection must not be null.

Implementation

const Flex({
  super.key,
  required this.direction,
  this.mainAxisAlignment = MainAxisAlignment.start,
  this.mainAxisSize = MainAxisSize.max,
  this.crossAxisAlignment = CrossAxisAlignment.center,
  this.textDirection,
  this.verticalDirection = VerticalDirection.down,
  this.textBaseline, // NO DEFAULT: we don't know what the text's baseline should be
  this.clipBehavior = Clip.none,
  super.children,
}) : assert(
          !identical(crossAxisAlignment, CrossAxisAlignment.baseline) ||
              textBaseline != null,
          'textBaseline is required if you specify the crossAxisAlignment with CrossAxisAlignment.baseline');