parent
c3a9c115d4
commit
1f33d621f4
3 changed files with 133 additions and 135 deletions
@ -0,0 +1,125 @@ |
|||||||
|
import 'dart:ui'; |
||||||
|
|
||||||
|
import 'package:flutter/material.dart'; |
||||||
|
|
||||||
|
Color stringToColor(String s) { |
||||||
|
switch (s) { |
||||||
|
case 'transparent': |
||||||
|
return Colors.transparent; |
||||||
|
case 'black': |
||||||
|
return Colors.black; |
||||||
|
case 'black12': |
||||||
|
return Colors.black12; |
||||||
|
case 'black26': |
||||||
|
return Colors.black26; |
||||||
|
case 'black38': |
||||||
|
return Colors.black38; |
||||||
|
case 'black45': |
||||||
|
return Colors.black45; |
||||||
|
case 'black54': |
||||||
|
return Colors.black54; |
||||||
|
case 'black87': |
||||||
|
return Colors.black87; |
||||||
|
case 'white': |
||||||
|
return Colors.white; |
||||||
|
case 'white10': |
||||||
|
return Colors.white10; |
||||||
|
case 'white12': |
||||||
|
return Colors.white12; |
||||||
|
case 'white24': |
||||||
|
return Colors.white24; |
||||||
|
case 'white30': |
||||||
|
return Colors.white30; |
||||||
|
case 'white38': |
||||||
|
return Colors.white38; |
||||||
|
case 'white54': |
||||||
|
return Colors.white54; |
||||||
|
case 'white60': |
||||||
|
return Colors.white60; |
||||||
|
case 'white70': |
||||||
|
return Colors.white70; |
||||||
|
case 'red': |
||||||
|
return Colors.red; |
||||||
|
case 'redAccent': |
||||||
|
return Colors.redAccent; |
||||||
|
case 'amber': |
||||||
|
return Colors.amber; |
||||||
|
case 'amberAccent': |
||||||
|
return Colors.amberAccent; |
||||||
|
case 'yellow': |
||||||
|
return Colors.yellow; |
||||||
|
case 'yellowAccent': |
||||||
|
return Colors.yellowAccent; |
||||||
|
case 'teal': |
||||||
|
return Colors.teal; |
||||||
|
case 'tealAccent': |
||||||
|
return Colors.tealAccent; |
||||||
|
case 'purple': |
||||||
|
return Colors.purple; |
||||||
|
case 'purpleAccent': |
||||||
|
return Colors.purpleAccent; |
||||||
|
case 'pink': |
||||||
|
return Colors.pink; |
||||||
|
case 'pinkAccent': |
||||||
|
return Colors.pinkAccent; |
||||||
|
case 'orange': |
||||||
|
return Colors.orange; |
||||||
|
case 'orangeAccent': |
||||||
|
return Colors.orangeAccent; |
||||||
|
case 'deepOrange': |
||||||
|
return Colors.deepOrange; |
||||||
|
case 'deepOrangeAccent': |
||||||
|
return Colors.deepOrangeAccent; |
||||||
|
case 'indigo': |
||||||
|
return Colors.indigo; |
||||||
|
case 'indigoAccent': |
||||||
|
return Colors.indigoAccent; |
||||||
|
case 'lime': |
||||||
|
return Colors.lime; |
||||||
|
case 'limeAccent': |
||||||
|
return Colors.limeAccent; |
||||||
|
case 'grey': |
||||||
|
return Colors.grey; |
||||||
|
case 'blueGrey': |
||||||
|
return Colors.blueGrey; |
||||||
|
case 'green': |
||||||
|
return Colors.green; |
||||||
|
case 'greenAccent': |
||||||
|
return Colors.greenAccent; |
||||||
|
case 'lightGreen': |
||||||
|
return Colors.lightGreen; |
||||||
|
case 'lightGreenAccent': |
||||||
|
return Colors.lightGreenAccent; |
||||||
|
case 'blue': |
||||||
|
return Colors.blue; |
||||||
|
case 'blueAccent': |
||||||
|
return Colors.blueAccent; |
||||||
|
case 'lightBlue': |
||||||
|
return Colors.lightBlue; |
||||||
|
case 'lightBlueAccent': |
||||||
|
return Colors.lightBlueAccent; |
||||||
|
case 'cyan': |
||||||
|
return Colors.cyan; |
||||||
|
case 'cyanAccent': |
||||||
|
return Colors.cyanAccent; |
||||||
|
case 'brown': |
||||||
|
return Colors.brown; |
||||||
|
} |
||||||
|
|
||||||
|
if (s.startsWith('rgba')) { |
||||||
|
s = s.substring(5); // trim left 'rgba(' |
||||||
|
s = s.substring(0, s.length - 1); // trim right ')' |
||||||
|
final arr = s.split(',').map((e) => e.trim()).toList(); |
||||||
|
return Color.fromRGBO(int.parse(arr[0]), int.parse(arr[1]), |
||||||
|
int.parse(arr[2]), double.parse(arr[3])); |
||||||
|
} |
||||||
|
|
||||||
|
if (!s.startsWith('#')) { |
||||||
|
throw ("Color code not supported"); |
||||||
|
} |
||||||
|
|
||||||
|
String hex = s.replaceFirst('#', ''); |
||||||
|
hex = hex.length == 6 ? 'ff' + hex : hex; |
||||||
|
int val = int.parse(hex, radix: 16); |
||||||
|
return Color(val); |
||||||
|
} |
Loading…
Reference in new issue