Fluttter ThemeData
Я хочу установить ThemeData в свой проект, но не могу установить правильный цвет фона, я думаю, что проблема в яркости ....
theme: ThemeData(
colorScheme: ColorScheme(
primary: Color(0xFF0A0E21),
onBackground: Colors.white,
onError: Colors.yellow,
onSecondary: Colors.white,
onSurface: Colors.white,
background: Colors.yellow,
secondary: Colors.purple,
surface: Color(0xFF0A0E21),
secondaryVariant: Colors.white,
error: Colors.red,
primaryVariant: Color(0xFF0A0E21),
onPrimary: Color(0xFF0A0E21),
brightness: Brightness.dark,
),
),
Яркость не может быть нулевой, так как я могу решить, чтобы у фона был правильный цвет? Я прочитал этот фон для ThemeData, это пробел между элементами, если я прокручиваю вниз. Итак, как я могу установить в ThemeData правильный фон для моего каркаса?
3 ответа
вам нужно использовать код, как показано ниже
return MaterialApp(
theme: ThemeData(
colorScheme: const ColorScheme.dark(
primary: Color(0xffbb86fc),
primaryVariant: Color(0xff3700B3),
secondary: Color(0xffcf6679),
secondaryVariant: Color(0xff03dac6),
surface: Color(0xffcf6679),
background: Color(0xff121212),
error: Color(0xffcf6679),
onPrimary: Colors.black,
onSecondary: Colors.black,
onSurface: Colors.white,
onBackground: Colors.white,
onError: Colors.black,
brightness: Brightness.dark,
),
),
home: const YourPage(),
);
в этом случае никакое свойство не требуется, поэтому измените цвета по своему усмотрению.
Вы можете установить
scaffoldBackgroundColor
вашей
themeData
вот так.
theme: ThemeData(
colorScheme: ColorScheme(
primary: Color(0xFF0A0E21),
onBackground: Colors.white,
onError: Colors.yellow,
onSecondary: Colors.white,
onSurface: Colors.white,
background: Colors.yellow,
secondary: Colors.purple,
surface: Color(0xFF0A0E21),
secondaryVariant: Colors.white,
error: Colors.red,
primaryVariant: Color(0xFF0A0E21),
onPrimary: Color(0xFF0A0E21),
brightness: Brightness.dark,
),
scaffoldBackgroundColor: Colors.yellow,
),
Вместо того, чтобы пройти
ThemeData
, использовать
Theme.of(context).copyWith()
. Кроме того, я бы сказал, используйте
themeMode
а также
darkTheme
.
Вместо того, чтобы переопределять все, часто имеет смысл расширить родительскую тему. Вы можете справиться с этим, используя метод copyWith ().
theme: Theme.of(context).copyWith(
colorScheme: const ColorScheme(
primary: Color(0xFF0A0E21),
onBackground: Colors.white,
onError: Colors.yellow,
onSecondary: Colors.white,
onSurface: Colors.white,
background: Colors.yellow,
secondary: Colors.purple,
surface: Color(0xFF0A0E21),
secondaryVariant: Colors.white,
error: Colors.red,
primaryVariant: Color(0xFF0A0E21),
onPrimary: Color(0xFF0A0E21),
brightness: Brightness.dark,
),
для большего количества тем