2012-03-29 15 views
5

Estoy tratando de cambiar el color del texto de un RadioButton (que es definido en un diseño xml y está en un RadioGroup) al seleccionarlo.¿Cómo usar setTextColor para los botones de radio de Android?

Cuando cambio el color de texto directamente en el editor Eclipse Disposición Android estableciendo la propiedad TextColor a "@ colores/rojo" (que se define en strings.xml), funciona muy bien, pero cuando intento para hacer esto mediante programación en tiempo de ejecución como

myRadioButton.setTextColor(R.color.red); 

sólo se vuelve el color a gris, no roja como se pretende.

R.color.red (@/color rojo) se define correctamente como un valor hexadecimal ("# FF0000"), pero lo hace girar el color del texto a rojo en el editor diseño, pero no a través de una aplicación Java mando.

+0

uso 'getResources() getColor (R.color.red)' en lugar de 'R.color.red' –

+0

Gracias por la respuesta ... pero al usar esto y deseleccionar el botón, el color no vuelve al color predeterminado. ¿Cómo puedo conseguir esto? – Ahmed

+0

intente cambiar en 'onCheckedChanged()' al color predeterminado? –

Respuesta

13

si su color.xml es como:

<color name="errorColor">#f00</color> 

y luego usar este código para mostrar que:.

myRadioButton.setTextColor(getResources().getColor(R.color.red)); 
+1

Solo un aviso, getColor() ha quedado obsoleto en la API 23, y ahora tenemos ContextCompat.getColor (context, R.color.your_color); – SanVed

4

hay algunas otras maneras de hacerlo

myRadioButton.setTextColor(Color.RED); 
or 
myRadioButton.setTextColor(Color.rgb(red, green, blue)); 
// where red green and blue are the int values 

corregido si usted desea obtener de recursos a continuación, utilizar getResources() getColor (R.color.red).;

Cuestiones relacionadas