Flutter 中使用十六进制颜色代
在 Flutter 中, Color 类只接受整数作为参数, 否则我们需要使用名称构造函数 fromARGB/fromRGBO 如果我们有 Hexa 颜色代码,那么我们需要将这个 hexa 颜色代码转换为 int 类型的颜色代码。
选项 1:
我们可以通过在 Hexa 字符串中用 0XFF 替换“#”并通过创建 const 颜色变量来实现
代码语言:javascript复制const color = const Color(0xff0276e8);
然后我们可以在任何地方使用这个值。
选项 2:
创建一个颜色的类
代码语言:javascript复制class ColorUtil extends Color {
static int _getColorFromHex(String hexColor) {
hexColor = hexColor.toUpperCase().replaceAll("#", "");
if (hexColor.length == 6) {
hexColor = "FF" hexColor;
}
return int.parse(hexColor, radix: 16);
}
ColorUtil(final String hexColor) : super(_getColorFromHex(hexColor));
}
并在任何 wdiget 中使用它
代码语言:javascript复制Color color=ColorUtil("#0276e8")
Color color=ColorUtil("0276e8")