2012-06-06 3 views
17

aussehen Es gibt keine Theme.Light.Dialog mit dem Rest meines Projekts, das Theme.Light verwendet.Ändern Sie Theme.Dialog, um wie Theme.Light.Dialog in Android

Wie kann ich Theme.Dialog ändern, um wie eine Theme.Light Version von Dialog aussehen.

Ich weiß, dass ich Abschnitte Theme.Dialog in styles.xml wie folgt überschreiben muss. Welche Elemente sollte ich mit welchen Werten überschreiben?

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="android:???????"></item> 
    <item name="android:???????"></item> 
</style> 

Ich konnte nur den Hintergrund machen, die weiß grau leuchten, aber die Tasten, Spinner usw. sind auch unterschiedlich auf das Licht Thema auf dem hellen Hintergrund besser aussehen.

EDIT

Sieht aus wie ich es Arbeit bekam.

<color name="black">#FF000000</color> 
<color name="whitegrey">#FFF2F2F2</color> 

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:windowBackground">@color/whitegrey</item> 
    <item name="@android:textColor">@color/black</item>   
</style> 
+0

Try [diese] (http://pastie.org/4037973) eins. – Praveenkumar

Antwort

29

Sieht aus wie ich es funktionierte.

<color name="black">#FF000000</color> 
<color name="whitegrey">#FFF2F2F2</color> 

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:windowBackground">@color/whitegrey</item> 
    <item name="@android:textColor">@color/black</item>   
</style> 
+5

+1 Wie würden Sie den Stil dann in einem Dialog zugewiesen? – Roylee

+2

Sie würden es einer Aktivität in Ihrem Manifest zuweisen, damit es wie ein Dialog aussieht. (android: theme = "@ style/dialog_light") – Ostkontentitan

+0

Sie können auch R.style.yourstyle als zweites Argument beim Erstellen einer Instanz von Dialog übergeben – SimpleCoder

5

Das ist gut, danke! Ich habe es nur ein bisschen geändert: Wenn ich das ausführe, was Sie vorgeschlagen haben, wird der gesamte Bildschirm mit der Hintergrundfarbe bemalt und der Dialog sieht nicht so aus wie er sollte (mit der vorherigen Aktivität abgeblendet).

So anstelle von

@android:windowBackground 

nur

@android:background 
7

Im Anschluss an die oben verwenden, um zu verhindern Farben machen, ich habe diese:

<!-- Makes a "light" equivalent of Theme.Dialog --> 
<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:background">@android:color/background_light</item> 
    <item name="@android:textColor">@android:color/primary_text_light</item>  
</style> 
Verwandte Themen