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;
但是UI给我们的颜色值是:#808080 ,上面的方法就没有办法使用,所以写一个转换的方法
代码语言:javascript复制import 'dart:ui' show Color;
class ColorsUtil {
/// 十六进制颜色,
/// hex, 十六进制值,例如:0xffffff,
/// alpha, 透明度 [0.0,1.0]
static Color hexToColor(String s) {
// 如果传入的十六进制颜色值不符合要求,返回默认值
if (s == null || s.length != 7 ||
int.tryParse(s.substring(1, 7), radix: 16) == null) {
s = '#999999';
}
return new Color(int.parse(s.substring(1, 7), radix: 16) 0xFF000000);
}
}