Flutter 如何在flatter中将十六进制颜色代码解析为各自的整数值
我正在设计一个容器,并从firebase数据库中提取颜色代码,该数据库存储为字符串。现在我想将该字符串(十六进制代码)转换为整数(某些十六进制代码只包含整数),因为Color(0XFFf3234f)只将参数作为整数。 装饰:框装饰(颜色:颜色(ItemList[index].ColorCode)),,然后它抛出一个错误参数类型“String”无法分配给参数类型“int”。 然后我用了:Flutter 如何在flatter中将十六进制颜色代码解析为各自的整数值,flutter,colors,hex,color-codes,color-conversion,Flutter,Colors,Hex,Color Codes,Color Conversion,我正在设计一个容器,并从firebase数据库中提取颜色代码,该数据库存储为字符串。现在我想将该字符串(十六进制代码)转换为整数(某些十六进制代码只包含整数),因为Color(0XFFf3234f)只将参数作为整数。 装饰:框装饰(颜色:颜色(ItemList[index].ColorCode)),,然后它抛出一个错误参数类型“String”无法分配给参数类型“int”。 然后我用了: class HexColor extends Color { static int _getColorF
class HexColor extends Color {
static int _getColorFromHex(String hexColor) {
hexColor = hexColor.toUpperCase().replaceAll("#", "");
if (hexColor.length == 6) {
}
return int.parse(hexColor, radix: 16);
}
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
这对于具有字符串和数字的颜色代码来说效果很好,但对于仅具有数字的颜色代码来说失败,抛出以下错误:
对null调用了方法“toUpperCase”。
收件人:空
已尝试调用:toUpperCase()
然后我尝试单独分离数值,但根本不起作用
以下是我使用的几种颜色代码:
A74556827255、a3d57a、662482只需简单地将颜色代码转换为int:
Color(int.parse('0xff${ItemList[index].ColorCode}'))