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が引き渡されるので、何が選択されたかは簡単にわかります。