编辑: 看来我必须进行硬刷新。
我希望通过编程方式传递Flutter材质颜色,以便将其用于BoxDecoration
内的LinearGradient
小部件中。
我有一个模型,可以在其中创建如下数据
class Fruit{
final int id;
final String fruitName;
final List<Color> color;
Fruit({this.id, this.fruitName, this.color });
}
final orange = Fruit(
id: 1,
color: [Colors.orange[900], Colors.orange[200]],
fruitName: "Orange"
);
final banana = Fruit(
id: 2,
color: [Colors.lightGreen[900], Colors.lightGreen[200]],
fruitName: "Banana"
);
final List<Fruit> allFruits = [
orange,
banana,
];
所以我要传递两种颜色作为列表。
我想在下面的小部件中使用它
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
stops: [0, 1],
colors: [fruit.color[0], fruit.color[1]], <===== This works.
),
borderRadius: BorderRadius.circular(16.0),
...
到目前为止我尝试过的是
fruit.color.map((c) => print(c)).toList();
分配给列表类型的新变量
final List<Color> col = fruit.color;
试图以基于索引的形式获取每种颜色
[fruit.color[0], fruit.color[1]]
但是我得到了错误
“颜色”类型不是“功能结果”的“列表”类型的子类型
任何指向我应该看的地方的指针,将不胜感激。