ColorParser.parse constructor

ColorParser.parse(
  1. String colorCode
)

Implementation

factory ColorParser.parse(String colorCode) {
  final originalColorCode = colorCode;
  // 去掉颜色代码的井号
  colorCode = colorCode.replaceAll('#', '');
  // 确定颜色代码的长度
  int length = colorCode.length;

  // 根据颜色代码长度进行解析
  if (length == 3 || length == 6) {
    if (length == 3) {
      // 擴展
      colorCode = expandShortHex(colorCode);
    }
    return parseRRGGBB(colorCode);
  } else if (length == 4 || length == 8) {
    if (length == 4) {
      // 擴展
      colorCode = expandShortHex(colorCode);
    }
    return parseAARRGGBB(colorCode);
  } else {
    throw ArgumentError('無效的顏色代碼: $originalColorCode');
  }
}