Мне нужна собственная цветовая тема для моего приложения. Итак, я определил Цвет материала в MyTheme.dart следующим образом.
static const int _bluePrimaryValue = 0xFF2D9CDB;
static const MaterialColor blue = MaterialColor(
_bluePrimaryValue,
<int, Color>{
200: Color(0xFF6EBBE6),
300: Color(0xFF59B1E2),
400: Color(0xFF43A6DF),
500: Color(_bluePrimaryValue),
600: Color(0xFF238FCC),
700: Color(0xFF1F7FB6),
800: Color(0xFF1B70A0),
900: Color(0xFF0D47A1),
},
);
В моем приложении Material я заменил
child: MaterialApp(
..
theme:
ThemeData(primarySwatch: Colors.blue, fontFamily: 'Montserrat'),
..)
на
child: MaterialApp(
..
theme:
ThemeData(primarySwatch: MyTheme.blue, fontFamily: 'Montserrat'),
..)
primarySwatch принимает параметр MaterialColor, а Colors.blue и MyTheme.blue относятся к одному типу. Но при передаче Colors.blue ошибки нет, но при передаче MyTheme.blue возникает следующая ошибка.
Неудачное утверждение: строка 525 поз. 15: 'primaryColorLight! = Null': неверно.
Это решается, если указать параметр primaryColorLight в атрибуте темы MaterialApp. Но почему эта ошибка не возникает при использовании Colors.blue?