2013-03-20 21 views
7

Dodałem następujący motyw do mojej aplikacji z białym kolorem tła. Dostaję następujący błąd i nie jestem pewien, gdzie popełniłem błąd.Błąd podczas dodawania niestandardowego motywu do aplikacji

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> 

I odwołuje się motyw w mymanifest:

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

jakieś pomysły lub sugestie? Dzięki

+0

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

Odpowiedz

16

Według strony Android Styles and Themes, trzeba użyć osobnego zasobu kolorów aby ustawić kolor.

(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.)

Na przykład

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

Dzięki, Gdzie zdefiniowałbym niestandardowy kolor do odniesienia w windowBackground? –

+2

Utwórz plik color.xml w "wartościach", a następnie ustaw go tam. Wypisujesz kolory takie same jak łańcuchy, ' # ff0000' –

+0

Otrzymałem nowy błąd, gdy zadeklarowałem niestandardowy kolor w kodzie windowBackground. "error: Error: Nie znaleziono zasobu pasującego do podanej nazwy (w" android: windowBackground "z wartością" @ color/custom_theme_color ")." –

2

Spróbuj:

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

Dzięki, że spełnił swoje zadanie, ale w tle kolor nadal pozostaje taki sam po zmianie kodu koloru. Czy jest to możliwe, aby zastąpić oryginalny motyw? –

+0

Nadpisujesz już Theme.Light z nadrzędną instrukcją – PaperThick

Powiązane problemy