首页 > 解决方案 > 在 ThemeData 中重用自定义颜色

问题描述

我有一个用于声明自定义颜色的类。

class CustomColors {
static const Color myCustomBlack = const Color(0x8A000000);
}

我的问题是:为什么我不能在主题数据中使用它们,如下所示?

ThemeData(primarySwatch : CustomColors.myCustomBlack)

标签: flutterdart

解决方案


primarySwatch不是 normal Color,它是 a MaterialColor,所以你不能分配任何Color给它。而 aMaterialColor是具有像100, 200, ...的阴影的那个900

例如:

Colors.blue是 a MaterialColor,因为你可以使用像Colors.blue[100]Colors.black不是 a 的阴影MaterialColor,你在使用时会出错Colors.black[100]


推荐阅读