2012-01-12 11 views
6

Sto creando la mia applicazione per tutti i tablet di 10.1 e ora sto provando questo sulla scheda Samsung Galaxy. Ho eseguito tutte le parti di quella finestra ma la finestra di avviso è troppo piccola per quanto riguarda le dimensioni del tablet. Ho anche creato una finestra di avviso personalizzata ma non ha un bell'aspetto. Quindi dimmi che posso modificare la dimensione della finestra di dialogo di avviso predefinita se sì, quindi come.Dimensioni della finestra di dialogo degli avvisi o degli avvisi personalizzati

O

come creare dialogo avviso personalizzato che appare come finestra di dialogo avviso predefinito.

Grazie.

risposta

12

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)

Problemi correlati