分享

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

 大前端之旅 2021-12-20

感谢您抽出

.

.

来阅读本文

大家好。我是坚果,这是我的公众号“坚果前端”,觉得不错的话,关注一下吧,如果你迷惘,不妨看看码农的轨迹

Flutter 中使用十六进制颜色代码

在 Flutter 中, Color 类只接受整数作为参数, 否则我们需要使用名称构造函数 fromARGB/fromRGBO 如果我们有 Hexa 颜色代码,那么我们需要将这个 hexa 颜色代码转换为 int 类型的颜色代码。

选项 1:

我们可以通过在 Hexa 字符串中用 0XFF 替换“#”并通过创建 const 颜色变量来实现

const color = const Color(0xff0276e8);

然后我们可以在任何地方使用这个值。

选项 2:

创建一个颜色的类

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 中使用它

Color color=ColorUtil("#0276e8")
Color color=ColorUtil("0276e8")

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多