有没有办法让按钮上方的弹出菜单膨胀?

时间:2014-10-09 14:13:36

标签: java android menu

这是我的问题。点击按钮后,菜单会弹出按钮下方的菜单。但我更喜欢,如果它可以弹出按钮上方。有没有办法做到这一点? 谢谢你的时间。

    public void onClick(View view) {
            PopupMenu popupMenu = new PopupMenu(CalEntry.this, view);
            popupMenu.setOnMenuItemClickListener(CalEntry.this);
            popupMenu.inflate(R.menu.log);
            popupMenu.show();
        }
    });

1 个答案:

答案 0 :(得分:0)

我不认为使用PopupMenu有一种简单的方法。但是,使用PopupWindow可以提供更准确的灵活性。

它有方法showAtLocation(),它允许你设置锚视图和重力,以及x和y偏移。

它有其他方法可以让你配置它显示的位置但是我使用showAtLocation()将它直接放在按下的按钮上。您可以通过调整y偏移量将其移动到锚点View上方。您只需要使用该值即可将其移至您想要的位置。

然后,您可以在menu中使用ListView中的项目作为构造函数中的contentView

PopupWindow docs