Если вы используете вложенный макет, вам нужно будет поместить всю логику для того, что происходит в этом «диалоге», также в Activity.С другой стороны, если у вас есть диалоговое окно, вы можете поместить эту логику в этот отдельный класс, что упрощает ее повторное использование в другом месте (например, DatePickerDialog и т. Д.). Кроме того, при отображении диалогового окна система автоматически выполняет функцию затенения.и блокирование остальной части пользовательского интерфейса, обработка функциональности кнопки «Назад» и т. д.
Но в целом вы также можете использовать вложенный макет вместо диалогового окна.Вы также можете преодолеть некоторые из вышеупомянутых недостатков, внедрив пользовательское представление и разместив там свою диалоговую логику.