constrained method

Widget constrained({
  1. double? minWidth,
  2. double? maxWidth,
  3. double? minHeight,
  4. double? maxHeight,
  5. double? width,
  6. double? height,
})

Wraps this widget in a ConstrainedBox with specified constraints.

If this widget is already a ConstrainedBox, merges the constraints.

Parameters:

  • minWidth (double?, optional): Minimum width.
  • maxWidth (double?, optional): Maximum width.
  • minHeight (double?, optional): Minimum height.
  • maxHeight (double?, optional): Maximum height.
  • width (double?, optional): Fixed width (sets both min and max).
  • height (double?, optional): Fixed height (sets both min and max).

Returns: Widget — constrained widget.

Implementation

Widget constrained(
    {double? minWidth,
    double? maxWidth,
    double? minHeight,
    double? maxHeight,
    double? width,
    double? height}) {
  if (this is ConstrainedBox) {
    return ConstrainedBox(
      constraints: BoxConstraints(
        minWidth: width ??
            minWidth ??
            (this as ConstrainedBox).constraints.minWidth,
        maxWidth: width ??
            maxWidth ??
            (this as ConstrainedBox).constraints.maxWidth,
        minHeight: height ??
            minHeight ??
            (this as ConstrainedBox).constraints.minHeight,
        maxHeight: height ??
            maxHeight ??
            (this as ConstrainedBox).constraints.maxHeight,
      ),
      child: (this as ConstrainedBox).child,
    );
  }
  return ConstrainedBox(
    constraints: BoxConstraints(
      minWidth: width ?? minWidth ?? 0,
      maxWidth: width ?? maxWidth ?? double.infinity,
      minHeight: height ?? minHeight ?? 0,
      maxHeight: height ?? maxHeight ?? double.infinity,
    ),
    child: this,
  );
}