我对于正确设置 Flutter 应用程序中的配色方案感到非常困惑。请帮助我理解这些东西的实际含义,即表面、背景、次要和所有其他含义。
ThemeData(
fontFamily: 'Poppins',
primaryColor: MyColors.amberPrimary,
colorScheme: const ColorScheme(
primary: MyColors.amberPrimary,
onPrimary: Colors.white,
secondary: Colors.white,
onSecondary: MyColors.amberPrimary,
surface: Colors.white,
onSurface: MyColors.titleFontColor,
background: Colors.white,
onBackground: MyColors.titleFontColor,
brightness: Brightness.light,
error: Colors.red,
onError: Colors.white,
),
请详细说明这些参数。
名称由“Material Design”的标准术语定义。您可以在核心网站 http://material.io,特别是 https://material.io/design/color/the-color-system.html#color-theme-creation 阅读更多相关信息。
请参考dart的官方文档,以便您了解这些参数的最新更新使用。您可以检查这里
据我了解,主题数据类包含颜色方案,当您按 ctrl 并将鼠标指针放在颜色方案中时,需要一些属性(您需要使用它们,因为它们是必需的,否则会出错)。最后,themedata 可以帮助您创建自己的自定义主题,而 colorcheme 可以提供更多帮助
示例:
ThemeData darkTheme(BuildContext context) => ThemeData(
brightness: Brightness.dark,
fontFamily: GoogleFonts.poppins().fontFamily,
cardColor: Colors.black,
canvasColor: darkCreamColor,
colorScheme: ColorScheme(
brightness: Brightness.dark,background:
),
appBarTheme: AppBarTheme(
color: Colors.black,
elevation: 0.0,
iconTheme: const IconThemeData(color: Colors.white),
titleTextStyle: Theme.of(context).textTheme.copyWith(
titleLarge:
context.textTheme.titleLarge.copyWith(color: Colors.white),
),
));