flutter学习

Flutter颜色(Color)使用和十六进制颜色转换

2019-07-30  本文已影响0人  calary

一、前言

Flutter中颜色的设置有很多方法,但是一般我使用的有4种,由于平时开发中十六进制色值使用的比较多,所以最后对十六进制色值的使用进行了封装

二、常规用法

1、Color c1 = Color(0xFF3CAAFA);
2、Color c2 = Color.fromRGBO(60, 170, 250, 1);
3、Color c3 = Color.fromARGB(255, 60, 170, 250);
4、Color c5 = Colors.blue;

三、十六进制使用封装

我们使用十六进制颜色的时候透明度使用的比较少,但是系统的方法总是带上透明度用着很不舒服,这里所以对十六进制用法做了一层封装处理,代码如下

class ColorsUtil {
   /// 十六进制颜色,
   /// hex, 十六进制值,例如:0xffffff,
   /// alpha, 透明度 [0.0,1.0]
   static Color hexColor(int hex,{double alpha = 1}){
    if (alpha < 0){
      alpha = 0;
    }else if (alpha > 1){
      alpha = 1;
    }
    return Color.fromRGBO((hex & 0xFF0000) >> 16 ,
         (hex & 0x00FF00) >> 8,
         (hex & 0x0000FF) >> 0,
         alpha);
   }
}

使用的时候直接引入,调用即可

ColorsUtil.hexColor(0x3caafa)//透明度为1
ColorsUtil.hexColor(0x3caafa,alpha: 0.5)//透明度为0.5
上一篇 下一篇

猜你喜欢

热点阅读