我在哪里设置https://material.io/resources/color/中的辅助颜色?
根据accentColor
类,我必须设置theme_data.dart
,我知道该怎么做:“ [accentColor],有时也称为辅助颜色”。
分析colorScheme.secondary
后,您还可以设置ColorScheme
。但是,将属性设置为ColorScheme
意味着您必须设置所有属性。您甚至应该设置ThemeData
并覆盖它吗?另外,我在哪里设置次浅色和次暗色?我感到有点迷茫,因为自定义LogManager.ReconfigExistingLoggers();
的唯一方法是阅读整个材料主题代码。或至少大部分。有深入的文档吗?
答案 0 :(得分:1)
也许您想要copyWith
方法,该方法使您可以覆盖父主题数据的少或多。
答案 1 :(得分:1)
我在哪里设置https://material.io/resources/color/中的辅助颜色?
通常,在ThemeData
中可以做到这一点,可以将其作为theme
参数传递给MaterialApp
。
但是将属性设置为
ColorScheme
意味着您必须设置所有属性
不一定-除非我误解了这个问题。 ColorScheme
有一个方法copyWith()
,它使用了一堆命名参数。因此,您可以像这样重复使用现有的ColorScheme
:
final newScehme = someColorScheme.copyWith(background: ...)
当然,诀窍是检索该方案。您可以通过访问ThemeData's
colorScheme
属性来获取它:
Theme.of(context).colorScheme
您甚至应该设置
ColorScheme
并覆盖它吗?
尽管我没有仔细阅读所有文档,但我在文档中没有发现任何建议可以解决此问题。我想这取决于您的用例。
我还要在哪里设置次浅色和次暗色?
我对材料设计指南和复杂性不是很精通,但是也许您追逐secondary
和secondaryVariant
?
有没有深入的文档?
取决于您的深入定义。以下链接提供了与主题和颜色相关的各种属性的合理概述:
还请注意,MaterialApp
上有一个darkTheme
属性,您可以在系统要求时使用它指定深色主题。
通常,我发现ThemeData
有很多自定义选项,尤其是当您将其与许多主题相关的类中的copyWith
结合使用时。 ThemeData
是否与“材料设计指南”紧密匹配,我无法自信地说。但是,文档确实很好地解释了属性,因此将它们与实际指南进行比较应该使人们对什么有所了解。