Flutter 在颤振中随机化定义的颜色

Flutter 在颤振中随机化定义的颜色,flutter,random,colors,Flutter,Random,Colors,我制作了卡片,并设法用材质颜色随机着色 class RandomColor<Color> { List<MaterialColor> color = [ Colors.green, Colors.blue, Colors.indigo, ]; var index = Random().nextInt(3); MaterialColor colorRandomizer() { print(color[index]);

我制作了卡片,并设法用材质颜色随机着色

class RandomColor<Color> {
  List<MaterialColor> color = [
    Colors.green,
    Colors.blue,
    Colors.indigo,
  ];

  var index = Random().nextInt(3);

  MaterialColor colorRandomizer() {
    print(color[index]);
    return color[index];
  }
}
类随机颜色{
列表颜色=[
颜色,绿色,
颜色,蓝色,
蓝色,靛蓝,
];
var指数=Random().nextInt(3);
MaterialColor颜色随机发生器(){
打印(颜色[索引]);
返回颜色[索引];
}
}

问题是当我尝试使用十六进制颜色时,flatter给出一个错误“颜色不是函数”
另外,如果下面的代码不在类中,但只返回1个随机颜色,那么它也可以工作

class RandomHexColor<Color> {
  Color one = Color(0xff808000);
  Color two = Color(0xff608000);
  Color three = Color(0xff208080);

  List<Color> hexColor = [one, two, three];

  var indexColor = Random().nextInt(3);

  Color colorRandom() {
    print(hexColor[indexColor]);
    return hexColor[indexColor];
  }
}

类随机颜色{
颜色一=颜色(0xff808000);
颜色二=颜色(0xff608000);
颜色三=颜色(0xff208080);
列表hexColor=[1,2,3];
var indexColor=Random().nextInt(3);
颜色随机(){
打印(hexColor[indexColor]);
返回hexColor[indexColor];
}
}

完整的代码可以在这里找到

为什么要将类设置为泛型?为什么要使用
RandomColor{…

删除此

试试这个

class RandomHexColor {
  static const Color one = Color(0xff808000);
  static const Color two = Color(0xff608000);
  static const Color three = Color(0xff208080);

  List<Color> hexColor = [one, two, three];

  static final _random = Random();

  Color colorRandom() {
    return hexColor[_random.nextInt(3)];
  }
}
类随机颜色{
静态常数颜色一=颜色(0xff808000);
静态常数颜色二=颜色(0xff608000);
静态常数颜色三=颜色(0xff208080);
列表hexColor=[1,2,3];
静态最终随机=随机();
颜色随机(){
返回hexColor[_random.nextInt(3)];
}
}

为什么要使类通用?为什么要使用
RandomColor{…

删除此

试试这个

class RandomHexColor {
  static const Color one = Color(0xff808000);
  static const Color two = Color(0xff608000);
  static const Color three = Color(0xff208080);

  List<Color> hexColor = [one, two, three];

  static final _random = Random();

  Color colorRandom() {
    return hexColor[_random.nextInt(3)];
  }
}
类随机颜色{
静态常数颜色一=颜色(0xff808000);
静态常数颜色二=颜色(0xff608000);
静态常数颜色三=颜色(0xff208080);
列表hexColor=[1,2,3];
静态最终随机=随机();
颜色随机(){
返回hexColor[_random.nextInt(3)];
}
}

第一个错误是因为RandomHexColor继承自Color,为什么???请检查第一个错误是因为RandomHexColor继承自Color,为什么???请检查此错误