2012-01-12 7 views
6

Je crée mon application pour toutes les tablettes de 10.1 et maintenant j'essaie ceci sur l'onglet samsung galaxy. J'ai fait toutes les parties de cela mais la boîte de dialogue d'alerte est trop petite par rapport à la taille de la tablette. J'ai également créé une boîte de dialogue d'alerte personnalisée mais elle ne semble pas bonne. Alors dites-moi si je peux changer la taille de la boîte de dialogue d'alerte par défaut si oui alors comment.Taille de la boîte de dialogue Alerte ou Alerte personnalisée

OU

comment créer de dialogue d'alerte personnalisé qui ressemble dialogue d'alerte par défaut.

Merci.

Répondre

12

S'il vous plaît Se référer this one

Selon développeur de la plate-forme Android Dianne Hackborn dans this discussion post groupe, Dialogs Set Top largeur de mise en page du niveau de leur fenêtre et la hauteur WRAP_CONTENT. Pour agrandir le dialogue, vous pouvez définir ces paramètres sur FILL_PARENT.

Code de démonstration:

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); 

Notez que les attributs sont définis après la boîte de dialogue apparaît. Le système est fastidieux quand ils sont réglés. (Je suppose que le moteur de configuration doit les définir la première fois que la boîte de dialogue est affichée, ou quelque chose.)

Il serait préférable de le faire en étendant Theme.Dialog, alors vous ne deviez pas jouer à un jeu de devinettes à propos de quand appeler setAttributes. (Bien que ce soit un peu plus de travail pour que la boîte de dialogue adopte automatiquement un thème clair ou sombre approprié, ou le thème Honeycomb Holo, cela peut être fait selon http://developer.android.com/guide/topics/ui/themes.html#SelectATheme)

Questions connexes