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

InformationsquelleAutor pushpa | 2012-05-04

Schreibe einen Kommentar