Я хочу создать собственное диалоговое окно, как показано ниже
Я пробовал следующие вещи.
Я создал подкласс AlertDialog.Builder и использовал пользовательский заголовок и пользовательское представление содержимого, но использовал его не так, как ожидалось.
Другая попытка заключалась в создании подкласса DialogFragment и настройке диалога внутри onCreateDialog, но результат оказался не таким, как ожидалось.
Затем я попытался использовать простой класс Dialog . Результат оказался не таким, как ожидалось.
Во всех трех случаях проблема заключается в том, что, когда я пропускаю представление заголовка, размер диалогового окна не такой, как ожидалось, и когда я использую представление заголовка, в результате появляется толстая рамка вокруг представления содержимого (что на самом деле выглядит плохо). Теперь у меня есть два вопроса в моей голове ...
Как я могу этого достичь? Как я уже пробовал так много вещей, прямой ответ будет более ценным.
Каков наилучший способ показать диалоговое окно с сообщением об ошибке или предупреждением в приложении для Android?
РЕДАКТИРОВАТЬ Документация разработчика Android рекомендует, чтобы мы использовали либо DialogFragments или Dialogs для показа сообщений об ошибках / предупреждений пользователю. Однако в один прекрасный момент они говорят ...
Подсказка: если вы хотите настраиваемое диалоговое окно, вы можете вместо этого отображать Activity в качестве диалогового окна вместо использования Dialog API. Просто создайте действие и установите его тему на Theme.Holo.Dialog в элементе manifest.
Что это значит? Разве это не слишком много, чтобы использовать Activity только для отображения сообщения об ошибке ???
Ответы:
Здесь я создал простой диалог, например:
custom_dialog.xml
Вы должны
extends Dialog
иimplements OnClickListener
Как позвонить в диалог?
Обновления
Через некоторое время один из моих друзей попросил меня сделать диалог изогнутой формы с прозрачным фоном. Итак, вот я и реализовал это.
Чтобы сделать изогнутую форму, вам нужно создать отдельный,
curve_shap.XML
как показано ниже,Теперь добавьте это
curve_shap.XML
в свой основной вид Layout. В моем случае я использовалLinearLayout
Как это назвать?
Я надеюсь, что это работает для вас.
источник
R.id.TXT_Exit:
?Это пример диалога, создайте с помощью XML.
следующий код xml - только пример, дизайн или представление реализовано здесь:
эти строки кода являются ресурсами drawable:
Вы могли бы сделать класс расширяет диалог, также что-то вроде этого:
наконец, форма вызова, в вашей деятельности, например:
Я надеюсь, что его работа для вас.
источник
Еще один простой способ сделать это.
Шаг 1) создать макет с правильными идентификаторами.
Шаг 2) Используйте следующий код, где вы хотите.
источник
Добавьте ниже тему в
values -> style.xml
Используйте эту тему в вашем
onCreateDialog
методе так:Определите макет вашего диалога, включая строку заголовка в файле XML, и установите этот файл XML следующим образом:
источник
mdialog.findViewById(R.id.element);
Сначала просто создайте класс
затем создайте custom_dialogbox_otp
затем в вашем рисовать создать под XML-файлы.
для round_layout_white_otp.xml
для round_layout_otp.xml
round_button
Затем, наконец, используйте нижний код для визуального отображения ур :)
ваш вывод :)
источник
источник
Самый простой способ создать собственное диалоговое окно:
Инициализировать и показать диалог:
Создать метод:
Создайте макет XML, который вы хотите или нуждаетесь.
источник
Вы можете попробовать эту простую всплывающую библиотеку диалогов Android, чтобы вырезать загроможденный код диалога. Это очень просто использовать в вашей деятельности. после этого вы можете иметь этот код в своей деятельности, чтобы показать диалог
где R.layout.custom_pop - ваш пользовательский макет, как вы хотите украсить свой диалог.
источник
Я нашел это как самый простой способ показать пользовательский диалог.
У вас есть макет
your_layout.xml
источник
Создать пользовательский макет оповещения custom_aler_update.xml
Затем скопируйте этот код в Activity:
Скопируйте этот код в стиль:
источник
Самый простой способ изменить цвет фона и стиль текста - создать настраиваемую тему для диалогового окна оповещения Android:
Просто поместите приведенный ниже код в styles.xml:
Теперь настройка завершена, теперь примените ее к объекту alertBuilder:
Надеюсь, что это поможет вам !
источник
Класс полноэкранного пользовательского оповещения в Котлине
Создайте файл XML, так же, как вы бы занялись
Создать пользовательский класс AlertDialog
Вызовите диалог в рамках действия
Примечание **: если вы не хотите, чтобы ваш диалог был полноэкранным, удалите следующие строки
Затем отредактируйте layout_width & layout_height вашего верхнего макета в вашем XML-файле, указав либо wrap_content, либо фиксированное значение DP.
Как правило, я не рекомендую использовать фиксированный DP, так как вы, вероятно, захотите, чтобы ваше приложение было адаптировано к разным размерам экрана, однако, если вы сохраняете свои размеры достаточно маленькими, у вас все будет в порядке.
источник
Создайте макет оповещения в диалоге примерно так
и добавьте следующий код в свой класс деятельности
источник
Это класс для Alert Dialog, так что вы можете вызвать класс из любого действия, чтобы повторно использовать код.
XML-файл для того же:
источник
Фрагмент диалога - это самый простой способ создания настраиваемого диалогового окна оповещения. С помощью приведенного выше кода создайте настраиваемое представление для диалогового окна, а затем реализуйте его с помощью фрагмента диалога. Добавьте следующий код в файл макета:
источник
Создать пользовательский диалог оповещения
cumstomDialog.xml
Покажите свой собственный диалог о своей деятельности:
Звоните так:
showDialog ("Заголовок", "Сообщение", R.drawable.warning);
источник
Я публикую код Kotlin, который я использую, и он прекрасно работает для меня. Вы также можете установить прослушиватель щелчков для диалоговых кнопок.
это мой код XML:
layout_custom_alert_dialog.xml
mAlertDialog.kt
интерфейс для прослушивания кликов:
onClickListener.kt
Образец использования
Я надеюсь, что это поможет вам!
источник
Мне нравится использовать библиотеку tcAron. (Скачать здесь: https://github.com/triocoder/tcAron )
класс импорта:
import com.triocoder.tcaron.tcaronlibrary.tcAronDialogs;
напишите это:
tcAronDialogs.showFancyAlert (MainActivity.this, false, "Text", "Close", "ic_hub_white", 0xFFF44336);
проверьте документацию:
https://github.com/triocoder/tcAron/wiki/showFancyAlert
источник
Ниже приведен код для создания настраиваемого диалогового окна представления с kotlin. Ниже приведен файл макета диалога
создание диалога и обновление текста в текстовом представлении
источник
Вот очень простой способ создать собственный диалог.
dialog.xml
MainActivity.java
источник
Импорт настраиваемого оповещения:
источник