十六进制颜色值格式一般如:#ff0000
,以#
开头,后面跟着6
个十六进制字符。
而flutter中不能直接使用此类形式的颜色值,所以必须要转换为flutter颜色对象。
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); }
参考地址: