2009-12-20 9 views

Répondre

8

Il est possible de modifier l'en-tête du dialogue si vous définissez une disposition personnalisée pour le 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 doit travailler 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 ainsi) mais c'est plus facile que le sous-classement Dialog.

1

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 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); 
    } 
} 
Questions connexes