Flutter 中使用十六进制颜色代码【Flutter专题21】

2021-12-22 11:51:15 浏览数 (1)

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")

0 人点赞