Skip to main content
The Stac BoxConstraints class specifies minimum and maximum dimensions for a widget. It’s commonly used with ConstrainedBox or as part of button styles.

Properties

PropertyTypeDescription
minWidthdouble?Minimum width constraint in logical pixels.
maxWidthdouble?Maximum width constraint in logical pixels.
minHeightdouble?Minimum height constraint in logical pixels.
maxHeightdouble?Maximum height constraint in logical pixels.

Example

StacConstrainedBox(
  constraints: StacBoxConstraints(
    minWidth: 100.0,
    maxWidth: 300.0,
    minHeight: 50.0,
    maxHeight: 200.0,
  ),
  child: StacContainer(
    color: StacColors.blue,
    child: StacText(data: 'Constrained'),
  ),
)

Common Constraint Patterns

Fixed Width

StacConstrainedBox(
  constraints: StacBoxConstraints(
    minWidth: 200.0,
    maxWidth: 200.0,
  ),
  child: StacElevatedButton(
    child: StacText(data: 'Fixed Width Button'),
  ),
)

Minimum Size

StacConstrainedBox(
  constraints: StacBoxConstraints(
    minWidth: 150.0,
    minHeight: 100.0,
  ),
  child: StacCard(
    child: StacCenter(
      child: StacText(data: 'At least 150x100'),
    ),
  ),
)

Maximum Size

StacConstrainedBox(
  constraints: StacBoxConstraints(
    maxWidth: 400.0,
    maxHeight: 300.0,
  ),
  child: StacImage(
    network: 'https://example.com/large-image.jpg',
    fit: StacBoxFit.contain,
  ),
)

With Button Style

StacElevatedButton(
  style: StacButtonStyle(
    minimumSize: StacSize(width: 200.0, height: 48.0),
    maximumSize: StacSize(width: 300.0, height: 56.0),
  ),
  child: StacText(data: 'Styled Button'),
)

Infinite Constraints

Use double.infinity for unbounded constraints:
StacConstrainedBox(
  constraints: StacBoxConstraints(
    minWidth: double.infinity, // Full width
    minHeight: 100.0,
  ),
  child: StacContainer(
    color: StacColors.blue,
    child: StacCenter(
      child: StacText(
        data: 'Full Width',
        style: StacTextStyle(color: StacColors.white),
      ),
    ),
  ),
)