Android:弹出菜单位置

时间:2015-07-01 08:18:27

标签: android android-layout android-popupwindow

这是一个简单而愚蠢的问题,但我正在开发一个应用程序,我在其中单击按钮时显示弹出菜单。代码如下:

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
    }
}

问题是:在某些设备中弹出窗口位于按钮的底部,但在某些设备中弹出窗口与按钮重叠或部分重叠。

如何设置弹出窗口,使其不会与按钮重叠,按钮完全可见。

2 个答案:

答案 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