2011-11-11 22 views
7

Ho la seguente visualizzazione di testo nella mia attività. Voglio cambiare il colore di sfondo della vista testo in modo dinamico.Android: cambia dinamicamente TextView Colore di sfondo

Il mio problema è che non voglio ottenere i colori da Resouce file o altri colori. Metodo RED. Ricevo i colori da webservie in modalità websafe (ad es. #FFF, # 000 ecc.).

Come posso passare questi colori come sfondo a TextView. Grazie in anticipo per il tuo tempo.

<TextView 
       android:id="@+id/colorCode" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true" android:background="#FF0000" android:layout_marginRight="5dp"/> 

risposta

26

Di seguito è frammento potrebbe aiutare a dove txtChannelName è un oggetto di TextView

txtChannelName.setBackgroundColor(Color.RED); 

o

txtChannelName.setBackgroundColor(Color.parseColor("#ffffff")); 
+1

Grazie, ma io ero già a conoscenza di questo metodo. Ho menzionato anche nella mia domanda su questo // colori da Resouce file o altri colori. Metodo RED // Voglio sapere se posso passare a #FFF come input per il colore di sfondo di una textview ??. –

+0

aggiornato la risposta verificare che – ingsaurabh

+0

grazie funzioni :) –

2

Nella vostra attività si fa qualcosa di simile:

TextView textView = (TextView) findViewById(R.id.colorCode); 
int myDynamicColor = Color.parseColor("#FFFF00"); // Here you can pass a string taken from the user or from wherever you want. 
textView.setBackgroundColor(myDynamicColor); 

Spero che questo aiuti.

+0

Questo è wot di cui sto parlando :) –

4

Si può provare:

String color = "FF0000"; // For example your color is FF0000 
TextView txt = new TextView(this);   
txt.setBackgroundColor(Integer.parseInt(color, 16)+0xFF000000); 

O

//This is the most preferrable 
txt.setBackgroundColor(Color.parseColor("#FF0000"));  
0

file XML salvato in res/Valori/colors.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="opaque_red">#f00</color> 
    <color name="translucent_red">#80ff0000</color> 
</resources> 

Poi dal vostro accesso programma di quelli colore come seguenti:

Resources res = getResources(); 
int color = res.getColor(R.color.opaque_red); 
textView.setBackgroundColor(color); 
5

yow possibile impostare il colore da Android o il colore in formato RBG come questo:

TextView txtView = (TextView) findViewById(R.id.yourId); 
txtView.setBackgroundColor(Color.parseColor("#AA3456")); 

o:

txtView.setBackgroundColor(Color.BLUE); 
Problemi correlati