Después de de nuestra larga compilación de información hemos podido solucionar esta incógnita que tienen ciertos de nuestros lectores. Te compartimos la solución y deseamos servirte de gran apoyo.
Solución:
/// Construct a color from a hex code string, of the format #RRGGBB.
Color hexToColor(String code)
return new Color(int.parse(code.substring(1, 7), radix: 16) + 0xFF000000);
Estoy usando esta función en mi proyecto que se encarga de convertir el hexadecimal string a un color.
Color hexToColor(String hexString, String alphaChannel = 'FF')
return Color(int.parse(hexString.replaceFirst('#', '0x$alphaChannel')));
La idea aquí es que ahora puedes pasar esta función un hexadecimal string que es algo como esto ‘#ffffff’ además de que puedes pasar un canal alfa. Lo que hace el canal alfa es manejar la opacidad de su color y puede pasarlo a Color directamente.
Acerca de los canales alfa, la parte FF es una representación hexadecimal de 0-100 es como:
0 = 00 1 = 03 2 = 05 … 9 = 17 … 10 = 1A 11 = 1C 12 = 1F … 99 = FC 100 = FF
Supongamos que desea convertir # 000000 en un color y tiene una opacidad de 0.1. Simplemente puede llamar a esta función así:
hexToColor('#000000', alphaChannel: '1A');
Y si lo llamas así:
hexToColor('#000000');
Entonces solo te devolverá un color negro con 1 opacidad. Espero que esto ayude a cualquiera que se pregunte cómo manejar la opacidad y el manejo del color un poco más.
Terminé haciéndolo de esta manera:
hexStringToHexInt(String hex)
hex = hex.replaceFirst('#', '');
hex = hex.length == 6 ? 'ff' + hex : hex;
int val = int.parse(hex, radix: 16);
return val;
Comentarios y valoraciones
Si guardas alguna suspicacia o forma de medrar nuestro post eres capaz de escribir una ilustración y con deseo lo interpretaremos.