2012-06-06 13 views
17

No hay Theme.Light.Dialog para usar con el resto de mi proyecto que está usando Theme.Light.Cambiar Theme.Dialog para que parezca Theme.Light.Dialog en Android

¿Cómo puedo cambiar Theme.Dialog para que parezca una versión Theme.Light de Dialog.

Sé que debo sobrescribir las secciones de Theme.Dialog en styles.xml como a continuación. ¿Qué elementos debo sobrescribir con qué valores?

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

tan sólo pudiera hacer que el fondo gris claro que la blanca, pero los botones, hiladores, etc también son diferentes en el tema de la luz para verse mejor en la luz de fondo.

EDITAR

Parece que tengo trabajo.

<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 [esto] (http://pastie.org/4037973) uno. – Praveenkumar

Respuesta

29

Parece que lo tengo funcionando.

<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 Entonces, ¿cómo asignarías el estilo a un diálogo? – Roylee

+2

Lo asignaría a una actividad dentro de su manifiesto para que parezca un diálogo. (android: theme = "@ style/dialog_light") – Ostkontentitan

+0

También puede pasar, R.style.yourstyle como segundo argumento al crear una instancia de Dialog – SimpleCoder

5

Esto es bueno, gracias! Lo acabo de cambiar un poco: cuando ejecuto lo que sugirió, toda la pantalla está pintada con el color de fondo y el cuadro de diálogo no se ve como debería (con la actividad anterior atenuada).

Así que en lugar de utilizar

@android:windowBackground 

sólo tiene que utilizar

@android:background 
7

Además de lo anterior, para evitar que componen los colores, lo hice:

<!-- 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> 
Cuestiones relacionadas