我需要显示容器中的颜色。意思是我有字符串格式的颜色代码,我需要用作容器颜色。
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]),