【Flutter】颜色值 透明度的处理
【Flutter】颜色值 透明度的处理
Color类原生方法
Color.fromRGBO(r, g, b, opacity)
Color.fromRGBO(153, 50, 204, 0.5)
// opacity: 透明度 0~1
Color.fromARGB(a, r, g, b)
Color.fromARGB(255, 55, 1, 200)
// a: alpha值,0是透明的,255是完全不透明的
0xff处理16进制
Color(0xFFb74093)
Color(0xffb74093)
Colors
Colors.blue
自定义类
创建一个HexColor类
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));
}
传入16进制字符串颜色值
HexColor("#b74093")
Opacity透明度组件
const Opacity({
Key key,
@required this.opacity, // 透明度opacity >= 0.0 && opacity <= 1.0
this.alwaysIncludeSemantics = false,
Widget child,
})
还没有评论,来说两句吧...