Question

Dans Android, il est possible de personnaliser la mise en page d'en-tête (l'icône + un texte) mise en page d'un dialogue? Ou puis-je mettre juste une valeur de chaîne personnalisée du texte du titre?

Merci.

Était-ce utile?

La solution

Il est possible de changer l'en-tête de la boîte de dialogue si vous définissez une mise en page personnalisée pour les deux la boîte de dialogue et l'en-tête. Je ne l'ai jamais utilisé cette méthode pour supprimer l'en-tête entièrement, mais cela devrait fonctionner pour un en-tête personnalisé:

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

Tout cela est un peu plus compliqué (comme vous devez configurer la mise en page de la boîte de dialogue aussi bien), mais il est plus facile que le sous-classement de dialogue.

Autres conseils

la classe de dialogue d'origine semble ne pas avoir la possibilité de définir une icône, mais vous pouvez facilement étendre AlertDialog et définir une vue personnalisée (le même que vous utilisez pour votre instance de dialogue), vous avez juste besoin de quelque chose comme ça

 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);
     }
 }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top