2013-03-20 7 views
7

Ho aggiunto il seguente tema alla mia app con un colore di sfondo bianco. Ma ho il seguente errore e non sono sicuro di dove ho sbagliato.Errore nell'aggiunta di temi personalizzati all'app

Error: Color types not allowed (at 'android:windowBackground' with value '#FF0000').

<style name="MyTheme" parent="@android:style/Theme.Light"> 
    <item name="android:windowBackground">#FF0000</item> 
</style> 

ea cui fa riferimento il tema in mymanifest:

<activity 
     android:name=".MyActivity" 
     android:theme="@style/MyTheme" /> 

Tutte le idee o suggerimenti? Grazie

+0

http://stackoverflow.com/questions/4342405/android-setselector-color-for-listview-not-working – PaperThick

risposta

16

Secondo la pagina Android Styles and Themes, è necessario utilizzare una risorsa colore diverso per impostare il colore.

(Note that the color needs to supplied as a separate resource here because the android:windowBackground attribute only supports a reference to another resource; unlike android:colorBackground, it can not be given a color literal.)

Per esempio

<item name="android:windowBackground">@color/custom_theme_color</item> 
+0

Grazie, dove dovrei definire il colore personalizzato per fare riferimento in windowBackground? –

+2

Creare un file color.xml sotto "valori" e quindi impostarlo lì. Si elencano i colori come stringhe, ' # ff0000' –

+0

Ho ricevuto un nuovo errore quando ho dichiarato il colore personalizzato nel codice windowBackground. 'errore: Errore: nessuna risorsa trovata che corrisponda al nome specificato (in' android: windowBackground 'con valore' @ color/custom_theme_color ').' –

2

Prova:

<style name="MyTheme" parent="@android:style/Theme.Light"> 
    <item name="android:background">#FF0000</item> 
</style> 
+0

Grazie che ha fatto il lavoro, ma lo sfondo il colore è sempre lo stesso dopo aver cambiato il codice colore. È possibile che sia necessario sovrascrivere il tema originale? –

+0

Stai già eseguendo l'override di Theme.Light con la dichiarazione genitore – PaperThick