31

我不清楚何时使用 PopupWindow 与 Dialog。任何见解将不胜感激。谢谢。

4

3 回答 3

14

它们都使用 addView() 方法以及各种 windowManager 方法。两者在这方面是相似的。

对话框似乎带有更多内置的交互功能,例如已经包含在基类中的处理程序和按钮,而 PopupWindows 带有更多内置的方法来将它们定位在屏幕上。

我认为它们中的每一个都可以做与另一个完全相同的事情,但是在两者之间进行选择对于程序员来说是一个方便的问题,即你想如何使用 Object。我不是计算机科学博士,但根据我在各自的类定义中看到的,我认为两者之间的处理时间没有显着差异。

我的建议:如果您想更好地控制视图在显示屏上的显示位置,请使用 PopupWindow。如果您想在视图之间添加更多控制和反馈,请使用对话框。如果您像我一样想要对所有内容进行主控制,我建议使用 PopupWindow,因为它具有较少的用户明显的默认方法来覆盖。

于 2015-04-26T05:44:07.923 回答
4

我认为,您应该使用 Dialog 进行简单的用户交互(是,否)。我通常使用 Dialog 进行简单的用户交互,使用 WindowPopup 进行更复杂的视图。WindowPopup 的一个示例是AutoCompleteTextView

希望能帮助到你。

于 2011-03-26T19:58:06.703 回答
1

我认为 Dialog 应该在您需要采取行动时使用,然后再继续下一步。它永远不会覆盖屏幕并始终将中心对齐为模态事件。另一方面,PopupWindow 可以根据位置设置灵活地调整屏幕中任何位置的信息,如粘页脚、粘页眉、左侧、右侧、中心等。对于显示信息,这是一个不错的选择,因为也有动画功能。简而言之,要以最少的操作显示信息,请使用 PopupWindow,而对于受控操作,请使用 Dialog。

于 2017-01-31T08:11:01.720 回答