Вопрос

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

Спасибо.

Это было полезно?

Решение

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

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

Это все немного сложнее (поскольку вам также необходимо настроить макет диалога), но это проще, чем создание подкласса Dialog.

Другие советы

исходному классу 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);
     }
 }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top