何时使用Android PopupWindow vs Dialog

我不清楚何时使用PopupWindow vs Dialog。 任何见解都会非常感激。 谢谢。

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

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

我认为它们中的每一个都可以完全相同,但是在两者之间进行选择将是程序员在如何使用Object方面的一个方便。 我不是计算机科学博士,但我不认为两者之间的处理时间差别很大,这取决于我在各自的类定义中所看到的。

我的建议:如果您希望更好地控制View在显示器上的显示位置,请使用PopupWindow。 如果要在View之间添加更多控件和反馈,请使用对话框。 如果你像我一样想要掌控一切,我会建议一个PopupWindow,因为它有更少的用户明显的默认方法来覆盖。

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

希望能帮助到你。

我认为Dialog应该在你需要采取行动之前使用,然后继续下一步。 它从不覆盖屏幕,始终将中心调整为模态事件。 另一方面,PopupWindow可以根据位置设置灵活地调整屏幕中任何位置的信息,如粘贴页脚,粘贴标题,左,右,中心等位置。 对于显示信息,这是一个很好的选择,因为还有animation设施。 简而言之,对于使用PopupWindow进行最小动作的显示信息,以及接下来继续使用Dialog进行受控操作。