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

メニューを設定する

この記事は最終更新日から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,020 views

コメントを残す

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