/// 十六进制颜色
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');
flutter 16进制色码转 Color
最新推荐文章于 2024-11-11 12:33:07 发布
这篇博客介绍了如何在代码中利用十六进制颜色值(0x开头和#开头)结合透明度来创建颜色。提供两个类`ColorUtil`和`HexColor`,分别用于处理0x格式和#格式的十六进制颜色,并支持透明度调整。通过这些工具类,可以方便地将十六进制颜色转换为可使用的颜色对象。
1594

被折叠的 条评论
为什么被折叠?



