/// 十六进制颜色
1.0x开头 例如:0xfffefefe
class ColorUtil {
  /// 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);
  }
}
使用:ColorUtil.hexColor(0xffDfDfDf)

2.#开头  例如:#fefefe
class HexColor extends Color{

  static int _getColorfromString(String hexColor) {
    hexColor = hexColor.toUpperCase().replaceAll("#", "");
    if (hexColor.length == 6) {
      hexColor = "FF" + hexColor;
    }
    return int.parse(hexColor, radix: 16);
  }
  HexColor(String hexColor) : super(_getColorfromString(hexColor));
}
使用:static Color trans_red = HexColor('#4cE62929');
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐