Android:ドロップダウンメニューを作る

android-drop-down-menu.png
menu.jpg

インポートするもの

import android.view.Menu;
import android.view.MenuItem;

フィールド

    private static final int MENU_ID_MENU1 = (Menu.FIRST + 1);
    private static final int MENU_ID_MENU2 = (Menu.FIRST + 2);
    private boolean mMenuVisible = true;

実装すべきメソッド

    // オプションメニューが最初に呼び出される時に1度だけ呼び出されます
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // メニューアイテムを追加します
        menu.add(Menu.NONE, MENU_ID_MENU1, Menu.NONE, "Menu1");
        menu.add(Menu.NONE, MENU_ID_MENU2, Menu.NONE, "Menu2");
        return super.onCreateOptionsMenu(menu);
    }
 
    // オプションメニューが表示される度に呼び出されます
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        menu.findItem(MENU_ID_MENU2).setVisible(mMenuVisible);
        mMenuVisible = !mMenuVisible;
        return super.onPrepareOptionsMenu(menu);
    }
 
    // オプションメニューアイテムが選択された時に呼び出されます
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        boolean ret = true;
        switch (item.getItemId()) {
        default:
            ret = super.onOptionsItemSelected(item);
            break;
        case MENU_ID_MENU1:
            ret = true;
            break;
        case MENU_ID_MENU2:
            ret = true;
            break;
        }
        return ret;
    }

menu

サポートサイト Wikidot.com menu