Domanda

In Android, è possibile personalizzare il layout di intestazione (l'icona + un testo) layout di una finestra di dialogo? O posso semplicemente impostare un valore stringa personalizzata del testo del titolo?

Grazie.

È stato utile?

Soluzione

E 'possibile modificare l'intestazione della finestra di dialogo se si imposta un layout personalizzato sia per il dialogo e l'intestazione. Ho sempre e solo usato questo metodo per rimuovere l'intestazione del tutto, ma questo dovrebbe lavorare per un header personalizzato:

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

Questo è tutto un po 'più complicato (come si deve configurare il layout della finestra di dialogo pure), ma è più facile di quanto sottoclasse di dialogo.

Altri suggerimenti

la classe di dialogo originale sembra mancare la possibilità di impostare un'icona, ma si può facilmente estendere AlertDialog e impostare una visualizzazione personalizzata (lo stesso che si usa per l'istanza di dialogo), è solo bisogno di qualcosa di simile

 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);
     }
 }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top