这是一个简单而愚蠢的问题,但我正在开发一个应用程序,我在其中单击按钮时显示弹出菜单。代码如下:
PopupMenu popup = new PopupMenu(mContext, view);
popup.getMenu().add("A");
popup.getMenu().add("B");
popup.getMenu().add("c");
popup.show();
popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// My stuff
}
}
问题是:在某些设备中弹出窗口位于按钮的底部,但在某些设备中弹出窗口与按钮重叠或部分重叠。
如何设置弹出窗口,使其不会与按钮重叠,按钮完全可见。
答案 0 :(得分:-1)
您可以使用showAtLocation()
类的PopupWindow
方法在屏幕上的特定位置找到PopupWindow
,例如:
PopupWindow popup = new PopupWindow(mContext, view);
popup.getMenu().add("A");
popup.getMenu().add("B");
popup.getMenu().add("c");
//takes the parent view, gravity and location offsets as paremetrs
popup.showAtLocation(view, Gravity.CENTER, 0, coordinate);
您可以在这里找到更多答案:How to show PopupWindow at special location?
答案 1 :(得分:-1)
使用popup.showAtLocation(view,Gravity.CENTER,0,coord);根据您的需要定位。
Yoi也可以参考这个例子。 here