Когда использовать Android PopupWindow vs Dialog - PullRequest
27 голосов
/ 17 января 2011

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

Ответы [ 3 ]

8 голосов
/ 26 апреля 2015

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

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

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

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

4 голосов
/ 26 марта 2011

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

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

0 голосов
/ 31 января 2017

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...