Android:如何打开用户点击的菜单

Android:如何打开用户点击的菜单,android,listview,android-menu,Android,Listview,Android Menu,是否可以在用户单击的确切位置打开菜单 我有一个自定义的listview,我想在用户单击listview项的位置显示一个类似于右键单击Windows的菜单。绝对正确。看一看,它可以让你做到这一点。下面是一个如何使用它的示例: listItemView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // Create an instance of t

是否可以在用户单击的确切位置打开菜单


我有一个自定义的listview,我想在用户单击listview项的位置显示一个类似于右键单击Windows的菜单。

绝对正确。看一看,它可以让你做到这一点。下面是一个如何使用它的示例:

listItemView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // Create an instance of the PopupMenu
        PopupMenu menu = new PopupMenu(MainActivity.this, listItemView);
        // Inflate the menu using a menu layout file
        menu.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

        menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem item) {
                // Do something here if correct MenuItem selected
                return true;
            }
        });
    }
}

检查本教程我已经这样做了,效果很好,唯一的问题是它会在点击的项目下方或上方打开弹出窗口,有没有办法在用户点击的x和y位置打开它?文档说“如果有空间,弹出窗口会出现在锚定视图下方,如果没有空间,弹出窗口会出现在上方”,因此,由于安卓系统是如何测量其视图的,这看起来不可能开箱即用。实际上,这看起来是可能的。使用
新弹出菜单(此,v,重心)并查看这是否更像您想要的。