Flutter无法以颜色显示字符串颜色代码



我需要显示容器中的颜色。意思是我有字符串格式的颜色代码,我需要用作容器颜色。

decoration: BoxDecoration(
color: widget.product.colors[i].toColor(),
borderRadius: BorderRadius.all(Radius.circular(40)),

这是我这样做的简单代码,但它显示错误

Invalid argument(s): Can not interpret string 0xFFF6625E

如果我删除.toColor((,那么它将显示

Error: The argument type 'String' can't be assigned to the parameter type 'Color'.

谁能告诉我怎么展示这个吗?

您可以使用以下代码:

decoration: BoxDecoration(
//make sure that the widget.product.colors[i] is a hex code (i.e: "0xff0000")
color : Color(int.parse(widget.product.colors[i])),
borderRadius: BorderRadius.all(Radius.circular(40)),
border: Border.all(color: Color(int.parse(kPrimaryColor)))

您可以编写这样的方法。。

static Color hexToColor(String code) {
if(code.length == 6) {
return Color(int.parse(code.substring(0, 6), radix: 16) + 0xFF000000);
}
else {
return Color(int.parse(code.substring(0, 8), radix: 16) + 0x00000000);
}
}

您可以使用增压包:

"#ff00ff".toColor(); // painless hex to color
"red".toColor(); // supports all web color names

你可以试试这个:

color: const Color(widget.product.colors[i]),

最新更新