2012-03-29 11 views
5

Sto provando a cambiare il colore del testo di un RadioButton (che è definito in un layout xml e si trova in un Gruppo Radio) alla sua selezione.Come utilizzare setTextColor per i pulsanti di scelta Android?

Quando cambio il colore del testo direttamente in Eclipse layout Android Editor impostando la proprietà TextColor a "@ colore/rosso" (che ho definito in strings.xml), funziona bene, ma quando provo per fare questo di programmazione durante l'esecuzione come

myRadioButton.setTextColor(R.color.red); 

si scopre solo il colore al grigio, non rosso come previsto.

R.color.red (@ colore/rosso) sia correttamente definito come un valore esadecimale ("# FF0000"), ma lo fa girare il colore del testo rosso nell'editor di layout, ma non attraverso un Java comando.

+0

uso 'getResources() getColor (R.color.red)' invece di 'R.color.red' –

+0

Grazie per la risposta..ma quando si utilizza questo e deselezionando il pulsante il colore non torna al colore predefinito. Come posso raggiungere questo obiettivo? – Ahmed

+0

prova a cambiare in 'onCheckedChanged()' con il colore predefinito? –

risposta

13

se il color.xml è come:

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

e quindi utilizzare questo codice per mostrare:.

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

Solo un avviso, getColor() è stato deprecato in API 23 e ora abbiamo ContextCompat.getColor (context, R.color.your_color); – SanVed

4

ci sono alcuni altri modi per farlo

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

modificati se si vuole ottenere da risorse quindi utilizzare getResources() getColor (R.color.red).;

Problemi correlati