如何将材质调色板转换为Flutter主题?

时间:2018-12-22 07:28:13

标签: colors flutter themes material-design

我可以使用https://material.io/tools/color生成有吸引力的调色板。结果是一组八种颜色。

不幸的是,ThemeData使得仅凭这八个值很难构建主题。 a constructor承诺会为丢失的参数派生出合理的默认值,但是它并不能从原色和副色中得出所有信息。

我在这里错过了什么吗?是否有任何Flutter工具将材质调色板转换为材质主题?

1 个答案:

答案 0 :(得分:0)

是的,在波动情况下,您可以将 MaterialColor 用于不同的颜色,例如Colors.blue [300]。

尽管ThemeData按照其constructor接受 Color 对象,但是您可以将 MaterialColor 与其他颜色阴影一起使用,例如 Colors.blue [300] < / strong>,因为它是从颜色继承的:

颜色-> ColorSwatch-> MaterialColor)

建议
您不应该在ThemeData或需要 Color 的任何地方直接使用它,因为有时在构建编译器时会出现红色错误屏幕的问题(我个人面对过此问题)。

例如:

final AppTheme = ThemeData(
    primarySwatch: Colors.blue[300],  //<- Not recommended
    );

此问题的正确解决方案是:

final AppTheme = ThemeData(
        primarySwatch: Colors.blue.shade300,  //<- recommended
        );