Flutter null safety - The argument type 'Color?' can't be assigned to the parameter type 'Color'
Problem:
Color color = Colors.grey[300]; // Error in null-safe mode
When you use Colors.grey[300]
, you're actually getting the color from a Map
which Dart (in null-safe mode) warns you about because that value could be null
. See more
Solutions:
There are two solutions for it. One is general and one is only specific to this case.
Use Bang operator (
!
)Color color = Colors.grey[300]! // Added '!', error gone
Use
shadeXXX
on theColor
Color color = Colors.grey.shade300;
You can use 0xFFE0E0E0
for grey[300].
To pick material colors you can use this tool.
To select a specific color from one of the swatches, index into the swatch using an integer for the specific color desired, as follows:
Color selection = Colors.green[400]!; // Selects a mid-range green.
Each ColorSwatch constant is a color and can used directly. For example:
Container( color: Colors.blue, // same as Colors.blue[500] or Colors.blue.shade500)