我正在尝试使用颜色列表为ListView Builder中的容器上色。这是列表,其类型为list<颜色>
final colours = charts.MaterialPalette.purple.makeShades(listOfTypes.length);
这是ListView生成器
ListView.builder(
itemCount: listOfTypes.length,
itemBuilder: (BuildContext cxt, int index){
return Container(
child: Text(listOfTypes[index]),
color: colours[index],
);
})
我认为"color:colors[index]"不是正确的类型,但我不确定如何将其转换为所需的类型。我在其他地方也使用了颜色列表,所以我不能简单地重新制作列表,因为类型错误会移动。有人知道我该怎么解决吗?
此方法charts.MaterialPalette.purple.makeShades(listOfTypes.length)
返回List<图表。颜色>。这样,您就需要将charts.Color
转换为Color
。从rgbaHexString或从RGBA转换它。从两者中选择一个。
// Call hexStringToColor(hexStringToColor(colours[index].rgbaHexString));
hexStringToColor(String code) {
return Color(int.parse(code.substring(1, 7), radix: 16) + 0xFF000000);
}
// Call rgbaToColor(colours[index].r, colours[index].g, colours[index].b, colours[index].a)
rgbaToColor(int r, int g, int b, int a) {
return Color.fromARGB(a, r, g, b);
}