Wie richten Sie benutzerdefinierte dialog-Zentrum in android ?
Ich arbeite an der Anwendung, wo ich wollte, um die Anzeige der dialog-Bildschirm Größe. So habe ich folgenden code.Ich habe die Lösung hier durch Alert-Nachricht wird nicht angezeigt im alert-Dialogfeld?
AlertDialog.Builder builder = new AlertDialog.Builder(this);
TextView title = new TextView(this);
title.setText("DM2");
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(10, 10, 10, 10);
title.setGravity(Gravity.CENTER);
title.setTextColor(Color.WHITE);
title.setTextSize(20);
TextView text = new TextView(this);
text.setText("Hello This text");
text.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
text.setTextSize(20);
text.setGravity(Gravity.CENTER);
//Creates a linearlayout layout and sets it with initial params
LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
ll.setGravity(Gravity.CENTER);
ll.addView(text);
builder.setCustomTitle(title);
builder.setPositiveButton(
"Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
Dialog d = builder.setView(ll).create();
//Fills up the entire Screen
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
d.show();
d.getWindow().setAttributes(lp);
Aber ich will dialog erschien in der Mitte ausgerichtet. Jetzt ist es die Anzeige im oberen Bereich des Fensters.
Ich habe versucht, mit lp.garvity = Schwerkraft.center, aber hat nicht funktioniert.
und Wenn das Gerät die Orientierung ändert, muss ich den ok-Knopf drücken mehr Zeit, um das Dialogfenster zu schließen. Wie man dieses Problem beheben?
Vielen Dank im Voraus
Pushpa
haben Sie versucht, das schreiben d....getWindow().setAttributes(lp); vor d....show(); ?
Ich habe versucht, aber es wird nicht angezeigt, das alert-box, um die Größe der Fenster
Ich habe versucht, aber es wird nicht angezeigt, das alert-box, um die Größe der Fenster
InformationsquelleAutor pushpa | 2012-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin etwas spät, aber besser spät als nie 🙂
Sie können den folgenden code verwenden: (ich sah auch hier)
Hoffe, dass ich geholfen...
InformationsquelleAutor Woody
Diese funktioniert bei mir:
hey versuchen Körperschwerpunkt durch die Einstellung der Höhe auf wrap_content
Ich habe versucht, dies zeigt das Dialogfenster in der Mitte, ich habe die Ansicht mit den 3 Tasten im hintergrund und verstecken wollen, die Sicht. Höhe wrap Inhalte wird nicht ausgeblendet im hintergrund anzeigen.
hey in diesem Fall können Sie den hintergrund von dem popup nicht transparent, können Sie getWindow().setBackgroundDrawableResource(android.R.Farbe.schwarz);
arbeitete für mich, vielen Dank!
InformationsquelleAutor Niraj Gupta
Vielleicht funktioniert:
InformationsquelleAutor Sebastian Breit
Versuchen die Verwendung von android:layout_gravity="center" anstelle von android:gravity="center"... Es kann für Sie hilfreich sein..
oder
können Sie versuchen, diese..
Für benutzerdefinierte Dialogfeld, das Sie tun können, eine Sache, Machen Sie Ihre gesamte Bildschirm-Aktivität-screen, und fügen Sie die Theme:@dialog in AndroidManifest.xml.., dass Ihr ganzer Inhalt wird angezeigt, wie ein dialog.
InformationsquelleAutor vishesh chandra
Hinweis :- Dies ist für die "benutzerdefinierte layout"... 🙂
Ich war kämpfen mit dem gleichen, und nach kämpfen für Stunden, kam ich zu diesem Ergebnis
Früher wurde ich in der Erstellung der dilaoge wie diese : -
Nach hinzufügen von Stil "Ohne Titelleiste" es begann zu Holen das layout, die Art und Weise, die ich erstellt hatte.
Für diese erstellen Sie das layout mit params "fillParent"
und erstellen die dialoge wie dieser
Oben ist die Codierung Teil
Sie in
Layout
Teilsetzen Sie Ihre ganze layout in
RelativeLayout
und geben Sie Ihrem layout-Eigenschaft
android:layout_centerInParent="true"
Ex:-
Und wenn Sie nicht wollen, zu verpassen, "Titel" auch Sie können in Ihren benutzerdefinierten layout als TextView ..
Hoffe es wird helfen..
Wie es mir geholfen 🙂
InformationsquelleAutor DeltaCap019