2011-11-04 41 views
5

Cuando ejecuto este código, se muestra el cuadro de diálogo de alerta, pero hay un borde blanco alrededor del cuadro de diálogo y también los bordes son pequeños redondos. No quiero este borde blanco y quiero tener las esquinas reales con un ángulo de 90. Espero que entiendas lo que estoy tratando de hacer.Cambiar el estilo de AlertDialog

 AlertDialog.Builder ad = new AlertDialog.Builder(this); 
     Button bbb=new Button(MvcnContactList.this); 
     ad.setView(bbb); 
     alertDialog = ad.create(); 
     alertDialog.show(); 

enter image description here

¿Hay alguna manera de estilizar el diálogo de alerta, pero no el color del texto o el tamaño del texto o algo similar ... Quiero el estilo de las fronteras del diálogo de alerta, por lo que establecer sólo una tema quizás sea la solución a este problema. Pero no sé qué propiedades anular.

Gracias,

EDIT: Por ejemplo, este tipo accionamiento del textColor a 00FF00, y que es fresco, pero que la propiedad debo anular para hacer las esquinas no redonda y aunque quitar ese boreder blanco

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AlertDialogCustom" parent="@android:style/AlertDialog"> 
     <item name="android:textColor">#00FF00</item> 
     <item name="android:typeface">monospace</item> 
     <item name="android:textSize">10sp</item> 
    </style> 
</resources> 
+1

Tal vez esto podría ayudarle a: http://stackoverflow.com/questions/2422562/how-to-change-theme-for-alertdialog – rockeye

+0

es buen enlace pero no lo hace anula las propiedades del borde ... – Lukap

Respuesta

15

Encontré la solución con el envoltorio, donde puede establecer un tema (estilo) para cualquier cosa en el contexto actual. Establecí R.style.MyTheme como estilo en mi cuadro de diálogo de alerta y personalicé esa vista para mi gusto.

ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.MyTheme); 
     AlertDialog.Builder builder= new AlertDialog.Builder(ctw); 
+2

Pero, ¿qué propiedad anuló en el tema para eliminar las esquinas redondeadas y el borde? Estoy teniendo el mismo problema ... –

+0

¿podría explicar/proporcionar un ejemplo de código sobre cómo ha eliminado el borde blanco? –

1

Ha respondido a su pregunta a sí mismo, pero no funcionó para mí, así que aquí está mi esperanza respuesta sea útil para todos aquellos que lo necesitan:

<style name="PauseDialog" parent="@android:style/Theme.Dialog"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowBackground">@android:color/transparent</item> 

</style> 

poner este estilo de res \ valores \ styles archivo .xml y simplemente establece el tema de tu actividad en tu Manifiesto. De esta manera:

android:theme="@style/PauseDialog" 
Cuestiones relacionadas