カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

メニューを設定する

この記事は最終更新日から1年以上経過しています。

【メニューが作成されるとき、メニュー用XMLを読み込み】

1public boolean onCreateOptionsMenu(Menu menu){
2  MenuInflater inflater = getMenuInflater();
3  inflater.inflate(R.menu.mumenu, menu);
4  return true;
5}


【メニューの表示前に実行される】

1public boolean onPrepareOptionsMenu(Menu menu) {
2  //メニューアイテムの有効/無効切り替えなど
3  menu.findItem(R.id.item01).setEnabled(false);
4  return true;
5}

【メニューが選択されたとき】

1public boolean onOptionsItemSelected(MenuItem item){
2  switch(item.getItemId()){
3  case R.id.item01:
4    return true;
5  case R.id.item02:
6    return true;
7  case R.id.item03:
8    return true;
9  default:
10    return super.onOptionsItemSelected(item);
11  }
12}

【res/menu/mumenu.xml】

1<?xml version="1.0" encoding="utf-8"?>
2<menu xmlns:android="http://schemas.android.com/apk/res/android" >
3 
4  <item android:id="@+id/item01"
5    android:icon="@drawable/menuitem01"
6    android:title="@string/menuitem01"
7    />
8 
9</menu>

※メニュー用xmlを追加するときは、resフォルダーを右クリックし、新規XMLファイルでリソースタイプをメニューで作成しましょう。

【サブメニューを使うとき】

1<?xml version="1.0" encoding="utf-8"?>
2<menu xmlns:android="http://schemas.android.com/apk/res/android" >
3 
4  <item android:id="@+id/item01"
5    android:icon="@drawable/menuitem01"
6    android:title="@string/menuitem01">
7    <menu>
8      <item android:id="@+id/item02"
9        android:icon="@drawable/menuitem02"
10        android:title="@string/menuitem02"
11        />
12    </menu>
13  </item>
14 
15</menu>

【メニューに関するメソッド】

1public void closeOptionsMenu() //メニューを閉じます(閉じられていれば何もしない)
2public boolean onCreateOptionsMenu(Menu menu) //メニュー生成時に呼び出されます
3public boolean onOptionsItemSelected(MenuItem item) //メニュー項目を通知します
4public boolean onPrepareOptionsMenu(Menu menu) //メニューが表示される前に呼ばれます(毎回)
5public void onOptionsMenuClosed (Menu menu) //メニューを閉じるときに呼ばれます(毎回)
6public void openOptionsMenu() //メニューを開きます(開かれていたら何もしない)
この記事がお役に立ちましたらシェアお願いします
3,096 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です