Android obtiene el color como valor de cadena

Si definí un color en los recursos

<resources> <color name="someColor">#123456</color> </resources> 

Es posible establecer el color por su id, como

 view.setTextColor(R.color.someColor); 

¿También es posible obtener el valor de la cadena de colores de colors.xml?

Algo como

 colorStr = getColor(R.color.someColor); // -> colorStr = "#123456" 

Si es así, ¿puede alguien dar un ejemplo?

Gracias

Esta es tu respuesta

 colorStr=getResources().getString(R.color.someColor); 

Conseguirás

  colorStr = "#123456" 

Sólo por el bien de copypasta fácil:

 Integer.toHexString(getResources().getColor(R.color.someColor, null); 

O si lo desea sin la transparencia:

 Integer.toHexString(getResources().getColor(R.color.someColor, null) & 0x00ffffff) 

Las respuestas proporcionadas anteriormente no se actualizan.

Por favor, pruebe este

 String colorHex = "#" + Integer.toHexString(ContextCompat.getColor(getActivity(), R.color.dark_sky_blue)); 

Causa getResources().getColor necesidad api> 23. Así que esto es mejor: Sólo por el bien de la copia fácil y pegar:

Integer.toHexString( ContextCompat.getColor( getContext(), R.color.someColor ) );

O si lo desea sin la transparencia: `

Integer.toHexString( ContextCompat.getColor( getContext(), R.color.someColor ) & 0x00ffffff );

Para API superior a 21 puede utilizar

 getString(R.color.color_name); 

Esto devolverá el color en un formato de cadena. Para convertir eso a un color en el formato del entero (a veces solamente los enteros se aceptan) entonces:

 Color.parseColor(getString(R.color.color_name)); 

La expresión anterior devuelve el equivalente entero del color definido en el archivo color.xml

No creo que haya funcionalidad estándar para eso. Sin embargo, puede cambiar el valor de getColor() de getColor() a hexadecimal y convertir el valor hexadecimal en cadena.

Hex 123456 = int 1193046;

Así es como lo he hecho:

 String color = "#" + Integer.toHexString(ContextCompat.getColor (getApplicationContext(), R.color.yourColor) & 0x00ffffff); 
  • ¿Cómo puedo configurar el fondo de mi forma en xml?
  • Colores hexagonales en Android son algunas veces 8 dígitos. ¿Cómo? ¿Cuál es la diferencia entre #FFFFFF y # FFFFFF00
  • Por qué el mismo color se ve diferente en diferentes dispositivos Android
  • Convertir Xamarin.Forms.Color a color específico de la plataforma
  • Cómo obtener la temperatura de color de la ganancia de corrección de color
  • Color androide entre dos colores, basado en el porcentaje?
  • ¿Cómo configurar el color / estilo personalizado de ActionBar?
  • Android convert color int to hexa String
  • Cómo configurar los colores en MPAndroidChart?
  • Quiero crear un "modo nocturno" rojo para mi aplicación para Android
  • Android: establecer el color mediante programación de las constantes de color XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.