Androidのオプションメニューの作成方法

Androidのオプションメニューを簡単に作成する方法を、本当に簡単に解説していきます。

ソースコード

    // オプションメニューの作成
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // メニューの要素を登録
        menu.add(Menu.NONE, 1, Menu.NONE, "グー");
        menu.add(Menu.NONE, 2, Menu.NONE, "チョキ");
        menu.add(Menu.NONE, 3, Menu.NONE, "パー");

        return true;
    }

    /**
     * オプションメニューの有効/無効制御
     * @param menu
     * @return
     */
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);

        if (flag) {
            menu.getItem(0).setEnabled(true);
        } else {
            menu.getItem(0).setEnabled(false);
        }

        return true;
    }

    // メニュー項目の選択イベント
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == 1) {
        }
        if (item.getItemId() == 2) {
        }
        if (item.getItemId() == 3) {
        }
        return true;
    }

Androidのメニューは画面の右上に表示されている【三】みたいなボタンを押すと下に出てくるタイプになっています。どうやって作ればいいのか意外と知られていません。必要なメソッドはたったの3種類です。

onCreateOptionsMenu

メニューに表示する項目を定義します。

onPrepareOptionsMenu

メニューが表示される直前に呼び出されます。アプリの状態に応じてメニュー項目の有効・無効を制御する必要があるときは、この処理の中で制御することができます。

onOptionsItemSelected

メニューの項目が選択されたときに呼び出されます。定義時に定義したMenuItemが引き渡されるので、何が選択されたかは簡単にわかります。

システム開発

Posted by @erestage