0
点赞
收藏
分享

微信扫一扫

【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,
})


举报

相关推荐

0 条评论