机器人的PopupMenu showAtLocation y偏移

问题描述:

有谁知道为什么,当我使用此代码:机器人的PopupMenu showAtLocation y偏移

popupMenu.showAtLocation(containerView, Gravity.BOTTOM|Gravity.LEFT, x_offset, y_offset); 

的y偏移不实际移动弹出,直到它超过一定数量(在这种情况下约120)更大。对于120以下的值,什么都不会发生;对于超过120的值,弹出窗口会垂直向上移动。

我猜这是与弹出窗口的大小有关,对此,似乎没有办法实际获得维度来弥补此阈值。

我想知道,因为a)关于此方法的信息很少,以及b)我似乎无法使其正确定位弹出窗口。

void showAtLocation (View parent, 
      int gravity, 
      int x, 
      int y) 

在指定位置的弹出窗口中显示内容视图。如果弹出窗口不适合在屏幕上,它将被剪切。有关重力和x和y参数如何相关的更多信息,请参阅WindowManager.LayoutParams。指定NO_GRAVITY的引力类似于指定Gravity.LEFT | Gravity.TOP。

您可以在此链接中找到完整的细节:deveoper.android.com