如果showPopup只到API 11,我怎么一个菜单链接到与ABS视图?(If showPopup

2019-09-17 01:58发布

注:PopupMenu的是可用的API级别11及更高版本。

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

考虑到这一点,我怎么能链接菜单,将在屏幕上查看与ABS和兼容性库? 我有我的布局,我想提供一个通用的菜单选项的一个菜单ImageView的。 基本上由具有弹出菜单中的ImageView的,相同的系统在使用中,无论设备或机器人版本的。 但是,如果弹出只存在于姜饼后来,有另一种方式来链接的ImageView的(+点击监听器)打开我的菜单?

Answer 1:

您可以使用PopupWindowshowAsDropDown()来代替。

这里是我的回答对一个类似问题。



Answer 2:

以下是我结束了解决这个:

    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;
     }
}


文章来源: If showPopup only goes to API 11, how do I link a Menu to a View with ABS?