为什么这个颜色列表在Flutter中不起作用



我正在尝试使用颜色列表为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);
}

相关内容

  • 没有找到相关文章

最新更新