我想在flutter中设置背景Colors.yellow[700],但是当我添加符号“[]”或Colors.yellow.shade600时,却无法设置背景值。它显示错误 & 错误是
The argument type 'MaterialColor' can't be assigned to the parameter type 'Paint'
答案 0 :(得分:0)
primarySwatch
只需要一个 ColorSwatch
而不是 colorShade
如果你想使用阴影,你可以尝试
ThemeData(
primaryColor: Colors.yellow[700]
)
了解更多信息primaryColor
答案 1 :(得分:0)
如果您想要 primarySwatch
和 Colors.yellow[700]
作为 primaryColor
,您必须像这样从颜色 MaterialColor
创建自己的 Colors.yellow[700]
final Map<int, Color> _yellow700Map = {
50: Color(0xFFFFD7C2),
100: Colors.yellow[100],
200: Colors.yellow[200],
300: Colors.yellow[300],
400: Colors.yellow[400],
500: Colors.yellow[500],
600: Colors.yellow[600],
700: Colors.yellow[800],
800: Colors.yellow[900],
900: Colors.yellow[700],
};
final MaterialColor _yellow700Swatch =
MaterialColor(Colors.yellow[700].value, _yellow700Map);
然后将其添加为 primarySwatch: _yellow700Swatch,
或者如果您只想将背景设为 Colors.yellow[700]
,您可以像这样使用 canvasColor canvasColor: Colors.yellow[700],
。