使用16进制的Hex颜色值来设置颜色 通过使用Hex颜色值

2023-11-23 0 1,225

正文:

Flutter中,我们可以使用16 进制Hex 颜色值来设置颜色。通过使用 Hex 颜色值,我们可以更方便地定义和使用自定义的颜色。

要使用 Hex 颜色值,我们需要在颜色值前面加上”0xFF”前缀,然后跟上 6 位的 Hex 值。每两位代表红、绿、蓝三个颜色通道的值。例如,”#FF0000″代表红色,”#00FF00″代表绿色,”#0000FF”代表蓝色。

在 Flutter 中,我们可以使用 Color 类的 fromARGB 方法来创建 Hex 颜色值对应的颜色对象。例如,Color(0xFFFF0000)代表红色,Color(0xFF00FF00)代表绿色,Color(0xFF0000FF)代表蓝色。

使用 Hex 颜色值可以使我们的代码更加简洁和易读。同时,它也提供了更多的颜色选择,让我们能够更好地满足设计需求。

总结起来,Flutter 中使用 16 进制 Hex 颜色值是一种方便、灵活且强大的方式来定义和使用颜色。

使用16进制的Hex颜色值来设置颜色 通过使用Hex颜色值

为 Color 类创建一个扩展

// https://www.huizhanii.com
extension HexColor on Color {
  /// String is in the format "aabbcc" or "ffaabbcc" with an optional leading "#".
  static Color fromHex(String hexString) {
    final buffer = StringBuffer();
    if (hexString.length == 6 || hexString.length == 7) buffer.write('ff');
    buffer.write(hexString.replaceFirst('#', ''));
    return Color(int.parse(buffer.toString(), radix: 16));
  }

  /// Prefixes a hash sign if [leadingHashSign] is set to `true` (default is `true`).
  String toHex({bool leadingHashSign = true}) => '${leadingHashSign ? '#' : ''}'
      '${alpha.toRadixString(16).padLeft(2, '0')}'
      '${red.toRadixString(16).padLeft(2, '0')}'
      '${green.toRadixString(16).padLeft(2, '0')}'
      '${blue.toRadixString(16).padLeft(2, '0')}';
}

使用

// https://www.huizhanii.com
final Color color = HexColor.fromHex('#aabbcc');

print(color.toHex());
print(const Color(0xffaabbcc).toHex());

另一个构造函数

// https://www.huizhanii.com
class HexColor extends Color {
  static int _getColorFromHex(String hexColor) {
    hexColor = hexColor.toUpperCase().replaceAll("#", "");
    if (hexColor.length == 6) {
      hexColor = "FF" + hexColor;
    }
    return int.parse(hexColor, radix: 16);
  }

  HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}

使用

// https://www.huizhanii.com
Color color1 = HexColor("b74093");
Color color2 = HexColor("#b74093");
Color color3 = HexColor("#88b74093"); // If you wish to use ARGB format
收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

免责声明

本资源仅限个人学习与研究使用,严禁用于任何商业用途!

1 网站名称:汇站网
2 永久网址:https://www.huizhanii.com
3 本站资源来源于网友投稿和付费购买,仅供编程人员及源代码爱好者下载参考与研究,不提供任何技术支持服务!
4 资源展示图片及相关信息仅供参考,不代表本站立场!本站仅作为信息存储平台
5 禁止在服务器和虚拟机上搭建运营,所有资源仅限本地调试与研究使用,不支持联网运行!
6 未经版权方授权,严禁用于商业用途。使用者如违反国家法律法规,需自行承担全部法律责任!
7 请在下载后24小时内删除!建议支持正版授权作品
8 如资源侵犯您的合法权益,请提供版权证明及相关作品信息发送至邮箱:972908224@qq.com,我们将及时处理
9 如遇下载链接失效或支付未到账,请联系站长处理
10 欢迎投稿优质源码或教程,审核通过后将获得相应奖励
11 资源收费仅用于维持网站正常运营
12 数字商品具有特殊性质,一经购买概不退款

汇站网 flutter 使用16进制的Hex颜色值来设置颜色 通过使用Hex颜色值 https://www.huizhanii.com/33893.html

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务