メニューを設定する
- Android
-
2011-12-03 - 更新:2011-12-09
この記事は最終更新日から1年以上経過しています。
【メニューが作成されるとき、メニュー用XMLを読み込み】
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mumenu, menu);
return true;
}
【メニューの表示前に実行される】
public boolean onPrepareOptionsMenu(Menu menu) {
//メニューアイテムの有効/無効切り替えなど
menu.findItem(R.id.item01).setEnabled(false);
return true;
}
【メニューが選択されたとき】
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.item01:
return true;
case R.id.item02:
return true;
case R.id.item03:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
【res/menu/mumenu.xml】
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/item01"
android:icon="@drawable/menuitem01"
android:title="@string/menuitem01"
/>
</menu>
※メニュー用xmlを追加するときは、resフォルダーを右クリックし、新規XMLファイルでリソースタイプをメニューで作成しましょう。
【サブメニューを使うとき】
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/item01"
android:icon="@drawable/menuitem01"
android:title="@string/menuitem01">
<menu>
<item android:id="@+id/item02"
android:icon="@drawable/menuitem02"
android:title="@string/menuitem02"
/>
</menu>
</item>
</menu>
【メニューに関するメソッド】
public void closeOptionsMenu() //メニューを閉じます(閉じられていれば何もしない) public boolean onCreateOptionsMenu(Menu menu) //メニュー生成時に呼び出されます public boolean onOptionsItemSelected(MenuItem item) //メニュー項目を通知します public boolean onPrepareOptionsMenu(Menu menu) //メニューが表示される前に呼ばれます(毎回) public void onOptionsMenuClosed (Menu menu) //メニューを閉じるときに呼ばれます(毎回) public void openOptionsMenu() //メニューを開きます(開かれていたら何もしない)
この記事がお役に立ちましたらシェアお願いします
3,241 views




