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,重心)代码>并查看这是否更像您想要的。