我有一个小部件,理想情况下,我希望采用基本的Material颜色并输出以该颜色的阴影为主题的小部件。例如:
return new Container( color: Colors.pink.shade50, child: new Text( 'hello', style: new TextStyle( color: Colors.pink.shade100, ), ), );
需要我指定两种阴影。理想情况下,我可以执行以下操作:
Color color = getBaseColorForThisPage(); // returns something like Colors.pink, but on another page, it'll return something like Colors.purple return new Container( color: color.shade50, child: new Text( 'hello', style: new TextStyle( color: color.shade100, ), ), );
有没有一种方法可以在调色板中返回“材质”颜色的“映射”,而不仅仅是单一颜色?当我查看IntelliJ中的自动完成功能时,我看到在键入之后Colors.pink,就可以指定阴影。但是,如果我将颜色设置为变量,例如Color color = Colors.pink,以后我将无法执行color.shade100或color[100]。谢谢!
Colors.pink
Color color = Colors.pink
color.shade100
color[100]
MaterialColor扩展ColorSwatch,有点像一种Map颜色。您可以ColorSwatch在可以使用a的任何位置使用Color并获得500阴影,但也可以使用对其进行索引[]。
MaterialColor
ColorSwatch
Map
Color
[]
要获取List所有主要材料色板的,请使用Colors.primaries。
List
Colors.primaries