Flutter 如何在flatter中将十六进制颜色代码解析为各自的整数值

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

我正在设计一个容器,并从firebase数据库中提取颜色代码,该数据库存储为字符串。现在我想将该字符串(十六进制代码)转换为整数(某些十六进制代码只包含整数),因为Color(0XFFf3234f)只将参数作为整数。 装饰:框装饰(颜色:颜色(ItemList[index].ColorCode)),,然后它抛出一个错误参数类型“String”无法分配给参数类型“int”。 然后我用了:

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}'))