Note: PopupMenu is available with API level 11 and higher.
http://developer.android.com/guide/topics/ui/menus.html#PopupMenu
考虑到这一点,我如何将菜单链接到具有 ABS 和兼容性库的屏幕 View ?我的其中一个布局上有一个菜单 ImageView ,我想提供一个通用菜单选项。基本上通过弹出菜单的 imageview,无论设备或 android 版本如何,都可以使用相同的系统。但是,如果弹出窗口仅存在于 Gingerbread 及更高版本上,是否有另一种方法可以链接 ImageView(+ 点击监听器)以打开我的菜单?
最佳答案
这是我最终解决这个问题的方法:
ImageView menuImg = (ImageView) activity.findViewById(R.id.menuImageView);
menuImg.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
activity.openOptionsMenu(); //This is the key method!
}
});
public boolean onCreateOptionsMenu(Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.demographics:
return true;
case R.id.settings:
Log.v("v", "settings clicked");
return true;
default:
return false;
}
}
关于android - 如果 showPopup 仅适用于 API 11,我如何将菜单链接到具有 ABS 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491495/