parseHexColor function

int? parseHexColor(
  1. String? hex
)

Parses #rgb, #rgba, #rrggbb or #rrggbbaa to ARGB. Returns null for anything else.

Implementation

int? parseHexColor(String? hex) {
  if (hex == null || !_hexColor.hasMatch(hex)) return null;
  var digits = hex.substring(1);
  if (digits.length <= 4) {
    digits = digits.split('').map((d) => '$d$d').join();
  }
  final rgb = int.parse(digits.substring(0, 6), radix: 16);
  final alpha = digits.length == 8
      ? int.parse(digits.substring(6), radix: 16)
      : 0xFF;
  return alpha << 24 | rgb;
}