Android:PopupWindow.showAtLocation()

Android:PopupWindow.showAtLocation(),android,Android,有人能告诉我函数PopupWindow.showAtLocation(视图**parent**,int w,int h)中参数“parent”的详细说明吗 提前谢谢 Android窗口管理器确保弹出窗口显示在显示它的活动上方。为了让窗口管理器做到这一点,它需要知道相关活动的窗口。由于视图位于窗口内,因此如果它知道活动窗口内的视图,它就知道活动所在的窗口 对于parent参数,您可以说“我希望在视图父对象所在的窗口中的活动上方有一个弹出窗口”。从javadoc中可以看出: parent—从中获取g

有人能告诉我函数
PopupWindow.showAtLocation(视图**parent**,int w,int h)中参数“parent”的详细说明吗

提前谢谢

Android窗口管理器确保弹出窗口显示在显示它的活动上方。为了让窗口管理器做到这一点,它需要知道相关活动的窗口。由于视图位于窗口内,因此如果它知道活动窗口内的视图,它就知道活动所在的窗口

对于parent参数,您可以说“我希望在视图父对象所在的窗口中的活动上方有一个弹出窗口”。

从javadoc中可以看出:

parent—从中获取getWindowToken()标记的父视图

快速查看的javadoc给出了这个解释

公共IBinder getWindowToken()

因为:API级别1检索标识此窗口的唯一令牌 视图已附加到

返回窗口的令牌以在WindowManager.LayoutParams.token中使用


这意味着“父”视图是附加到当前窗口的任何视图,以便PopupWindow获得对该窗口的引用。它不用于定位或其他任何操作——事实上,只要稍加努力,您就可以创建一个虚拟视图,该视图只需从getWindowToken()方法传递相关的IBinder对象

多谢,但你确定吗?:->根据对Android平台源代码的检查,我尽可能确定。这不仅与活动有关,还与对话框窗口有关。