Когда использовать Android PopupWindow vs Dialog

Я не понимаю, когда использовать PopupWindow vs Dialog. Любое понимание было бы высоко оценено. Благодарю.

Оба они используют метод addView () вместе с различными методами windowManager. В этом отношении они схожи.

Диалоги, похоже, содержат больше встроенных функций для взаимодействия, таких как обработчики и кнопки, уже включенные в базовый класс, в то время как PopupWindows имеют более встроенные методы для размещения их на экране.

Я думаю, что каждый из них может делать то же самое, что и другой, но выбор между ними будет вопросом удобства для программиста в отношении того, как вы хотите использовать объект. Я не являюсь физическим специалистом в области компьютерных наук, но я не думаю, что существует значительная разница в времени обработки между ними на основе того, что я видел в их соответствующих определениях классов.

Мой совет. Если вы хотите иметь больший контроль над тем, где отображается ваш вид на дисплее, используйте PopupWindow. Если вы хотите добавить больше контроля и обратной связи между вашим представлением, используйте диалог. Если вы, как и я, хотите, чтобы я контролировал все, я бы предложил PopupWindow, поскольку он имеет меньше видимых пользователем методов по умолчанию для переопределения.

Я думаю, что вы должны использовать Dialog для простого взаимодействия с пользователем (ДА, НЕТ). Обычно я использую Dialog для простого взаимодействия с пользователем и WindowPopup для немного более сложного представления. Одним из примеров WindowPopup является AutoCompleteTextView .

Надеюсь, поможет.

Я думаю, что Dialog должен использовать, когда вам нужно принять меры, прежде чем продолжить, чтобы продолжить дальше. Он никогда не закрывает экран и всегда регулирует выравнивание по центру как модальное событие. С другой стороны, PopupWindow имеет гибкость для настройки информации в любом месте экрана, как положение, такое как липкий нижний колонтитул, липкий заголовок, слева, справа, в центре и т. Д. В соответствии с установленным местоположением. Для показа информации это хороший вариант, поскольку есть возможность анимировать также. Короче говоря, для отображения информации с минимальными действиями перейдите в PopupWindow и для контролируемого действия, чтобы продолжить работу с Dialog.