You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
773 B

import 'package:flutter/widgets.dart';
class ColorsUtil {
/// 十六进制颜色,
/// 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);
}
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);
}
}