Android studio 存储颜色贴图的数组

Android studio 存储颜色贴图的数组,android-studio,flutter,dart,multidimensional-array,colors,Android Studio,Flutter,Dart,Multidimensional Array,Colors,?我们如何创建一个阵列,以这种结构样式在dart中存储颜色 "1":{ "a": Colors.grey[800], "b": Colors.grey[800], "c": Colors.grey[800], "d": Colors.grey[800], }, "2":{

?我们如何创建一个阵列,以这种结构样式在dart中存储颜色

    "1":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
   "2":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
我制作了一张地图试图实现这一点

Map<String,  Color> btncolor = {
"a": Colors.grey[800],
"b": Colors.grey[800],
"c": Colors.grey[800],
"d": Colors.grey[800],
};
Map btncolor={
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
};
但是它需要3个参数才能有一个索引,这是不可能的

Map<String, String,  Color> btncolor = {
   "1":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
   "2":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
  };
Map btncolor={
"1":{
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
},
"2":{
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
},
};

由于我是一个新的flifter编码新手,任何提示或帮助都将不胜感激,ty。

要创建一个包含20个元素的列表,使用相同的元素(这里的元素是映射字符串到颜色的映射对象),请尝试以下操作

Map<String,Color>  btnColorMap = {
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       }

var list = List<Map>.filled(20, btnColorMap);
Map btnColorMap={
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
}
var list=list.filled(20,btnColorMap);

只要这样做,将
地图
更改为
地图
,就好像你在告诉dart你想要一张地图一样。因为映射构造函数只接受2个参数

所以最终的结果应该是这样的:

Map<String, Map<String,  Color>> btncolor = {
   "1":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
   "2":{
        "a": Colors.grey[800],
        "b": Colors.grey[800],
        "c": Colors.grey[800],
        "d": Colors.grey[800],
       },
  };
Map btncolor={
"1":{
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
},
"2":{
“a”:颜色。灰色[800],
“b”:颜色。灰色[800],
“c”:颜色。灰色[800],
“d”:颜色。灰色[800],
},
};

我还不明白目的是什么。你能详细解释一下吗?我需要有20个索引,每个索引都有“a”:颜色。灰色[800],“b”颜色。灰色[800],“c”颜色。灰色[800],“d”颜色。灰色[800],这是一个需要经常更改颜色的琐事应用程序,我目前为文本颜色指定了一个变量,但我需要一个数组来存储所有20个问题及其(a,b,c,d)颜色。只有一个变量,我不能单独控制它们。你需要一个包含20个元素的数组,其中每个元素都是映射->{“a”:Colors.grey[800],“b”:Colors.grey[800],“c”:Colors.grey[800],“d”:Colors.grey[800],}。是吗?是的,所以我寻找像color:buttoncolors[index][option]这样的值