Frage

In Android, ist es möglich, das Header-Layout (das Symbol + einen Text) Layout eines Dialogs anpassen? Oder kann ich nur einen benutzerdefinierten String-Wert des Titeltextes eingestellt?

Danke.

War es hilfreich?

Lösung

Es ist möglich, den Header des Dialogs zu ändern, wenn Sie eine benutzerdefinierte Layout sowohl für den Dialog und die Header gesetzt. Ich habe immer nur diese Methode verwendet, um den Header vollständig zu entfernen, aber dies sollte Arbeit für einen benutzerdefinierten Header:

dialog = new Dialog(context);
Window window = dialog.getWindow();
window.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.my_dialog_layout);
window.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_header);

Das ist alles ein bisschen mehr komplizierte (wie Sie zu Setup haben das Layout des Dialogs als auch), aber es ist einfacher, als Subklassen Dialog.

Andere Tipps

die ursprüngliche Dialog Klasse scheint die Fähigkeit zu fehlt, ein Symbol zu setzen, aber Sie können leicht Alertdialog erweitern und eine benutzerdefinierte Ansicht eingestellt (die gleichen Sie für Ihre Dialoginstanz verwenden würden), brauchen Sie nur so etwas wie diese

 class MyDialog extends AlertDialog {
     public MyDialog(Context ctx) {
        super(ctx);
        LayoutInflater factory = LayoutInflater.from(context);
        View view = factory.inflate(R.layout.dialog_layout, null);
        setView(view);
        setTitle("MyTitle");
        setIcon(R.drawable.myicon);
     }
 }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top