今回は「menu」ボタンを押したときのメニュー表示を実装する。
package com.Test124; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; public class Test124Act extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); int nId = 0; menu.add(0,nId++,Menu.NONE,"AAA").setIcon(android.R.drawable.ic_menu_set_as); menu.add(0,nId++,Menu.NONE,"BBB"); menu.add(0,nId++,Menu.NONE,"CCC").setIcon(R.drawable.icon); menu.add(1,nId++,Menu.NONE,R.string.app_name); //本当はこのようにリソース文字列を使わないとダメ menu.add(1,nId++,Menu.NONE,"BBB1"); menu.add(1,nId++,Menu.NONE,"CCC1"); menu.add(1,nId++,Menu.NONE,"DDD1"); menu.add(2,nId++,Menu.NONE,"AAA2"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Log.d("Test124","MenuSelected " + item.getItemId() + " " + item.getTitle()); switch(item.getItemId()) { case 0: return true; case 1: return true; case 2: return true; default: break; } return super.onOptionsItemSelected(item); } }
実際に実行して、「menu」ボタンを押すとメニューが表示された。
項目が多い場合は「more」ができ、このように追加画面へと切り換えれる。
プロジェクトファイルをダウンロード