java - gris - hexadecimal color
Cadenas hexagonales de estilo CSS y Color.decode (3)
El método Color.decode lanza la NumberFormatException si la cadena especificada no se puede interpretar como un entero decimal, octal o hexidecimal
La cadena "FF0096" sin el prefijo 0
o 0x
se interpretará como una representación de base 10 que no funciona.
este artículo sugiere que puede usar Color c = Color.decode("FF0096");
Sin embargo, esto comprensiblemente arroja una excepción.
Caused by: java.lang.NumberFormatException: For input string: "FF0096"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.valueOf(Integer.java:528)
at java.lang.Integer.decode(Integer.java:958)
at java.awt.Color.decode(Color.java:707)
¿Cuál es la mejor manera de convertir una cadena en el formato de "# FF0096" o "FF0096" en un color java awt?
Estaba buscando una forma similar de hacer esto en Android. Por alguna razón, no pude encontrar Color.decode()
así que busqué una alternativa. Si desea utilizar una cadena hexadecimal para representar un color en Android, puede hacer lo siguiente:
String hexColor = "#142b44";
View row = findViewById(R.id.row);
int color = Color.parseColor(hexColor);
row0.setBackgroundColor(color);
Más en Color#parseColor
Color c = Color.decode("0xFF0096");
o
Color c = Color.decode("#FF0096");
o
Color c = new Color(0xFF0096);