2017-08-29 62 views
0

有誰知道爲什麼,當我使用此代碼:機器人的PopupMenu showAtLocation y偏移

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

的y偏移不實際移動彈出,直到它超過一定數量(在這種情況下約120)更大。對於120以下的值,什麼都不會發生;對於超過120的值,彈出窗口會垂直向上移動。

我猜這是與彈出窗口的大小有關,對此,似乎沒有辦法實際獲得維度來彌補此閾值。

我想知道,因爲a)關於此方法的信息很少,以及b)我似乎無法使其正確定位彈出窗口。

回答

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

在指定位置的彈出窗口中顯示內容視圖。如果彈出窗口不適合在屏幕上,它將被剪切。有關重力和x和y參數如何相關的更多信息,請參閱WindowManager.LayoutParams。指定NO_GRAVITY的引力類似於指定Gravity.LEFT | Gravity.TOP。

您可以在此鏈接中找到完整的細節:deveoper.android.com