2016-01-12 34 views
6

I colori dei temi possono essere modificati se più temi aggiunti in app e possono essere commutati facilmente in fase di esecuzione. L'altro modo è di cambiare il colore di actiobar, textview ecc uno per uno di tutto l'oggetto. Questo modo è molto lungo e richiede molto codice. Il modo semplice che ho trovato è quello di cambiare i colori dichiarare nel file colors.xml ma non sono riuscito a trovare un modo programmatico o libreria di terze parti per farlo. C'è un modo per fare questo.Cambia colore tema in Runtime in Android

My Colors file XML:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="colorPrimary">#ea1e63</color> 
    <color name="colorPrimaryDark">#303F9F</color> 
    <color name="colorAccent">#FF4081</color> 
</resources> 

voglio solo cambiare colorPrimary colore in fase di esecuzione, questo cambierà colore su tutte le attività di app. Ho trovato https://github.com/negusoft/GreenMatter, per cambiare i colori in fase di esecuzione ma è vecchio e non funziona con Android Studio.

+0

Vuoi cambiare il colore su qualsiasi evento (clic del tasto)? @Burhan –

+0

non importa, basta cambiare colore sul carico di attività o clic sul pulsante. –

+0

@Burhan hai trovato qualche risposta a questa soluzione ?? Voglio anche fare questa cosa in particolare !! –

risposta

2

Per cambiare colore del tema in fase di esecuzione,

UPDATE

quando si applica tema e desidera cambiare il colore di

EX:

activity.setTheme(R.style.green); 


<style name="green"> 
     <item name="main_background">@drawable/background_green</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="button_light">@color/button_light</item> 
</style> 

colore del tema non può essere cambiato in fase di esecuzione di un tema particolare.

Fai lo stile personalizzato e cambia questi stili quando vuoi cambiare colore nella tua applicazione.

+1

per favore leggi attentamente la domanda, non voglio cambiare tema in fase di esecuzione. Voglio cambiare il valore del colore salvare nel file color.xml –

+0

verificare la risposta aggiornata @Burhan –

+0

fratello non stai capendo completamente la mia domanda, ciò che stai postando si chiama cambio di tema. Quello che voglio è quello di cambiare colore nel file xml. vale a dire colorPrimary = # ea1e63 e voglio colorPrimary = # 000000. Senza aggiungere questo nel file xml. In breve voglio cambiare colorPrimary con java (programmaticamente) in fase di esecuzione. Dimmi c'è un metodo per impostare colorPrimary in fase di esecuzione –