2

注意:PopupMenu 适用于 API 级别 11 及更高级别。

http://developer.android.com/guide/topics/ui/menus.html#PopupMenu

考虑到这一点,如何使用 ABS 和兼容性库将菜单链接到屏幕上的视图?我的一个布局上有一个菜单图像视图,我想提供一个通用菜单选项。基本上通过弹出菜单的图像视图,无论设备或android版本如何,都在使用相同的系统。但是,如果弹出窗口仅存在于 Gingerbread 及更高版本上,是否有另一种方法可以链接 ImageView(+ 单击侦听器)以打开我的菜单?

4

1 回答 1

0

以下是我最终解决此问题的方法:

    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;
     }
}
于 2012-05-08T04:33:48.573 回答