2

注:PopupMenuは、APIレベル11以降で使用できます。

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

それを念頭に置いて、ABSと互換性ライブラリを使用してメニューを画面上のビューにリンクするにはどうすればよいですか?ユニバーサルメニューオプションを提供したいレイアウトの1つにメニューイメージビューがあります。基本的に、メニューをポップアップするイメージビューを使用することで、デバイスや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 に答える