如何在 flutter 中将十六进制颜色代码解析为各自的整数值
How to parse hex color code into their respective integer value in flutter
我正在设计一个容器并从存储为字符串的 firebase 数据库中提取颜色代码。现在我想将该字符串(十六进制代码)转换为整数(某些十六进制代码仅包含整数),因为 Color(0XFFf3234f) 仅将参数作为整数。
decoration: BoxDecoration(color:Color(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));
}
这对于具有字符串和数字的颜色代码工作正常,但对于只有数字的颜色代码它会失败,抛出以下错误:
调用方法 'toUpperCase' 为 null。
接收者:空
尝试调用:toUpperCase()
然后我尝试单独分隔数值,但它根本不起作用。
以下是我使用的一些颜色代码:
a74556,827255,a3d57a,662482
只需简单地将 ColorCode 转换为 int:
Color(int.parse('0xff${ItemList[index].ColorCode}'))
我正在设计一个容器并从存储为字符串的 firebase 数据库中提取颜色代码。现在我想将该字符串(十六进制代码)转换为整数(某些十六进制代码仅包含整数),因为 Color(0XFFf3234f) 仅将参数作为整数。 decoration: BoxDecoration(color:Color(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));
}
这对于具有字符串和数字的颜色代码工作正常,但对于只有数字的颜色代码它会失败,抛出以下错误: 调用方法 'toUpperCase' 为 null。 接收者:空 尝试调用:toUpperCase()
然后我尝试单独分隔数值,但它根本不起作用。
以下是我使用的一些颜色代码: a74556,827255,a3d57a,662482
只需简单地将 ColorCode 转换为 int:
Color(int.parse('0xff${ItemList[index].ColorCode}'))