2011-11-04 11 views
5

Quando si esegue questo codice viene visualizzata la finestra di avviso, ma è presente un bordo bianco attorno alla finestra di dialogo e anche i bordi sono poco arrotondati. Non voglio questo bordo bianco e voglio avere angoli reali con angolo di 90. Spero che tu capisca cosa sto cercando di fare.Modificare lo stile di 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

non v'è alcun modo per lo stile della finestra di avviso, ma non il colore del testo o la dimensione del testo o qualcosa di simile ... che voglio per lo stile i confini della finestra di avviso, in modo da impostare solo una tema forse è la soluzione a questo problema. Ma non so quali proprietà ignorare.

Grazie,

EDIT: Per esempio questo stile sovrascrivere il textColor a 00FF00, e che è fresco, ma che proprietà che dovrebbe ignorare per fare gli angoli non rotondo e tho rimuovere tale boreder bianco

<?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

Forse questo potrebbe aiutare: http://stackoverflow.com/questions/2422562/how-to-change-theme-for-alertdialog – rockeye

+0

è bene link, ma io non lo fa sostituisci le proprietà per il bordo ... – Lukap

risposta

15

Ho trovato la soluzione con il wrapper, in cui è possibile impostare un tema (stile) per qualsiasi cosa nel contesto corrente. Ho impostato R.style.MyTheme come stile per la mia finestra di avviso e ho personalizzato quella vista a mio piacimento.

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

Ma quale proprietà hai ignorato nel tema per rimuovere gli angoli arrotondati e il bordo? Sto avendo lo stesso problema .. –

+0

potresti spiegare/fornire un esempio di codice per come hai rimosso il bordo bianco? –

1

hai risposto alla tua domanda te stesso, ma non ha funzionato per me, ecco la mia risposta speranza di essere utile per tutti coloro che ne hanno bisogno:

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

</style> 

Inserisci questa stile in res \ valori \ stili .xml file e imposta il tema della tua attività nel tuo Manifesto. Come questo:

android:theme="@style/PauseDialog"