Как я могу настроить макет заголовка диалога - PullRequest
4 голосов
/ 20 декабря 2009

В Android можно ли настроить макет заголовка (значок + текст) макета диалога? Или я могу просто установить пользовательское строковое значение текста заголовка?

Спасибо.

Ответы [ 2 ]

9 голосов
/ 20 декабря 2009

Возможно изменить заголовок диалогового окна, если вы установите пользовательский макет для диалогового окна и заголовка. Я только когда-либо использовал этот метод, чтобы полностью удалить заголовок, но это должно работать для настраиваемого заголовка:

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

Все это немного сложнее (поскольку вам также нужно настроить макет диалога), но это проще, чем подклассификация диалога.

1 голос
/ 20 декабря 2009

В исходном классе Dialog, похоже, нет возможности установить значок, но вы можете легко расширить AlertDialog и установить пользовательское представление (то же самое, что вы использовали бы для своего экземпляра Dialog), вам просто нужно что-то вроде этого

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