Contents
Contents

Use DecoratedBox.

This rule is available as of Dart 2.16.0.

This rule has a quick fix available.

Details

#

DO use DecoratedBox when Container has only a Decoration.

A Container is a heavier Widget than a DecoratedBox, and as bonus, DecoratedBox has a const constructor.

BAD:

dart
Widget buildArea() {
  return Container(
    decoration: const BoxDecoration(
      color: Colors.blue,
      borderRadius: BorderRadius.all(
        Radius.circular(5),
      ),
    ),
    child: const Text('...'),
  );
}

GOOD:

dart
Widget buildArea() {
  return const DecoratedBox(
    decoration: BoxDecoration(
      color: Colors.blue,
      borderRadius: BorderRadius.all(
        Radius.circular(5),
      ),
    ),
    child: Text('...'),
  );
}

Usage

#

To enable the use_decorated_box rule, add use_decorated_box under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - use_decorated_box