例如,当您使用Colors.blue时,它将返回一个恒定的Color对象,但是如果您选择使用阴影(即Colors.blue [300]),则该对象不是恒定的。例如,当您拥有一个采用可选Color参数的方法时,该方法的默认值必须为常数,这一点很重要。那么我们如何使颜色阴影常数不变?
static const Color mainColor = Colors.blue \\All good!
static const Color shade = Colors.blue[400] \\ERROR: Const variables must be initialized with a constant value
答案 0 :(得分:3)
那么我们如何使颜色阴影常数不变?
不能。要选择特定的阴影,请使用[]
运算符,就像调用方法一样,并且由于方法返回的值在运行时会有所不同,因此从方法调用返回的值不能用作常量。
这很重要,例如,当您有一个采用可选Color参数的方法时,其默认值必须为常数。
如果您的情况如此简单,只需使用Colors.blue[400]
的实际值,即Color(0xFF42A5F5)
。