Cómo puedo obtener el valor de un recurso de color en mi actividad
Necesito conseguir el valor de la secuencia de un color. En otras palabras, quiero tirar el #ffffffff
de un recurso de color como <color name="color">#ffffffff</color>
en formato de cadena. ¿Hay alguna manera de hacer esto?
- Recursos de cadena de XML vs cadenas constantes de Java?
- ¿Cómo sé si mi mensaje de GCM es lo suficientemente pequeño (<4kb) para enviar? (Cómo obtener el tamaño de la cadena?)
- ¿Por qué mostrar java.lang.ClassCastException: android.text.SpannableString no se puede transmitir a java.lang.String?
- Pasar una cadena al código C en Android NDK
- Conversión de Uri en String
- Eliminar todo después de una parte de una cadena
- ¿Cómo acceder a cadenas privadas del sistema operativo Android mediante programación?
- ¿Cómo puedo convertir los datos de InputStream en String en SOAP Webservices de Android
- Android: ¿Cómo puedo obtener la cadena de los recursos con su nombre?
- Android Split string
- ¿Cómo obtener el ancho de la cadena en Android?
- La división de una cadena funciona en Java, no funciona en Android
- Cómo obtener Resource (int) de String - Android
Asumiendo que usted tiene:
<color name="green">#0000ff00</color>
Y aquí está el código:
int greenColor = getResources().getColor(R.color.green); String strGreenColor = "#"+Integer.toHexString(greenColor);
No podrá extraer el texto fuente original del XML. Esto se convierte en un valor binario en el tiempo de construcción. (Por ejemplo, la diferencia entre #fff
y #ffffffff
se borra.)
Puede convertir el valor del color en una cadena hexadecimal, por supuesto, usando Integer.toHexString(int)
.
Si necesita sólo el valor HEX (sin alfa):
int intColor = getResources().getColor(R.color.your_color); String hexColor = String.format("#%06X", (0xFFFFFF & intColor));
Integer.toHexString(ContextCompat.getColor(context, R.color.black) & 0x00ffffff);
De: Android obtiene el color como valor de cadena
- ¿Pueden dos aplicaciones diferentes tener el mismo nombre de paquete?
- La clase StringUtils no funciona en Android