fare riferimento this one
Secondo piattaforma Android sviluppatore Dianne Hackborn in this discussione Post Group, finestre di dialogo superiore stabilita larghezza del layout livello del loro finestra e l'altezza a wrap_content. Per ingrandire la finestra di dialogo, puoi impostare tali parametri su FILL_PARENT.
codice Demo:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
Dialog d = adb.setView(new View(this)).create();
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
d.show();
d.getWindow().setAttributes(lp);
Si noti che gli attributi vengono impostati dopo che il dialogo è mostrato. Il sistema è pignolo riguardo a quando sono impostati. (Immagino che il motore di layout debba impostarli la prima volta che viene mostrata la finestra di dialogo, o qualcosa del genere.)
Sarebbe meglio fare questo estendendo Theme.Dialog, quindi non dovresti giocare a un gioco di ipotesi su quando chiamare setAttributes. (Anche se è un po 'più di lavoro che la finestra di dialogo adotti automaticamente un tema chiaro o scuro appropriato o il tema Honeycomb Holo. Ciò può essere fatto secondo http://developer.android.com/guide/topics/ui/themes.html#SelectATheme)
fonte
2012-01-12 13:52:16