Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a634f08

Browse files
777geniusdkwingsmt
andauthored
Improve Container color/decoration error message clarity (#178823)
## Description This PR improves the clarity of the error message shown when developers provide both `color` and `decoration` parameters to a `Container` widget. ### Problem The previous assertion message was confusing and contradictory: ``` Cannot provide both a color and a decoration To provide both, use "decoration: BoxDecoration(color: color)". ``` This message stated "Cannot provide **both**" but then suggested "To provide **both**, use...", which confused developers about the actual requirement. The suggestion appeared to offer a workaround to use both parameters together, when in fact it was explaining how to migrate from using `color` to using `decoration` exclusively. ### Solution Updated the assertion message to clearly explain: - The `color` parameter is a shorthand for `decoration: BoxDecoration(color: color)` - Developers should use **either** `color` OR `decoration`, not both - To use both a color and other decoration properties (like borders, shadows, etc.), set the color within the `BoxDecoration` instead **New message:** ``` Cannot provide both a color and a decoration. The color argument is just a shorthand for "decoration: BoxDecoration(color: color)". To use both a color and other decoration properties, set the color in the BoxDecoration instead. ``` ## Related Issues Fixes #119484 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md Co-authored-by: Tong Mu <[email protected]>
1 parent 8d5a463 commit a634f08

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

packages/flutter/lib/src/widgets/container.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,9 @@ class Container extends StatelessWidget {
275275
assert(decoration != null || clipBehavior == Clip.none),
276276
assert(
277277
color == null || decoration == null,
278-
'Cannot provide both a color and a decoration\n'
279-
'To provide both, use "decoration: BoxDecoration(color: color)".',
278+
'Cannot provide both a color and a decoration.\n'
279+
'The color argument is just a shorthand for "decoration: BoxDecoration(color: color)".\n'
280+
'To use both a color and other decoration properties, set the color in the BoxDecoration instead.',
280281
),
281282
constraints = (width != null || height != null)
282283
? constraints?.tighten(width: width, height: height) ??

0 commit comments

Comments
 (0)