android.view.Menuを使用します
さらに、Activity クラスの
- public boolean onCreateOptionsMenu(Menu menu)
- public boolean onPrepareOptionsMenu(Menu menu)
- public boolean onOptionsItemSelected(MenuItem item)
- public boolean onMenuOpened(int featureId, Menu menu)
というわけで、Menu をいじってみた
サンプルプログラム
import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MenuTest extends Activity { private static final int MENU_ID1 = Menu.FIRST; private static final int MENU_ID2 = Menu.FIRST + 1; private static final int MENU_ID3 = Menu.FIRST + 2; private static final int SUBMENU_ID1 = Menu.FIRST + 21; private static final int SUBMENU_ID2 = Menu.FIRST + 22; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ((Button) findViewById(R.id.Button)).setOnClickListener( new OnClickListener() { public void onClick(View v) { // Menu の表示 openOptionsMenu(); } } ); } // Option Menu が最初に表示される時に1度だけ呼び出される @Override public boolean onCreateOptionsMenu(Menu menu) { boolean ret = super.onCreateOptionsMenu(menu); // Menu にアイテムを追加 menu.add(Menu.NONE, MENU_ID1, Menu.NONE, "Menu1"); // Menu に Icon 付きアイテムを追加 menu.add(Menu.NONE, MENU_ID2, Menu.NONE, "Menu2").setIcon(R.drawable.icon); // SubMenu を追加 SubMenu sMenu = menu.addSubMenu(Menu.NONE, MENU_ID3, 3, "Menu3"); sMenu.add(Menu.NONE, SUBMENU_ID1, Menu.NONE, "SubMenu1"); sMenu.add(Menu.NONE, SUBMENU_ID2, Menu.NONE, "SubMenu2"); // Menu にショートカットキーを設定 menu.findItem(MENU_ID1).setAlphabeticShortcut('a'); menu.findItem(MENU_ID2).setAlphabeticShortcut('1'); menu.findItem(MENU_ID3).setAlphabeticShortcut('s'); return ret; } // Option Menu が表示される時の動作 @Override public boolean onPrepareOptionsMenu(Menu menu) { return super.onPrepareOptionsMenu(menu); } // Option Menu のアイテムが選択された時の動作 @Override public boolean onOptionsItemSelected(MenuItem item) { boolean ret = super.onOptionsItemSelected(item); // 選ばれたアイテムの ID を取得 switch(item.getItemId()) { case MENU_ID1: // Menu1 return true; case MENU_ID2: // Menu2 return true; case SUBMENU_ID1: // Submenu1 return true; default: } return ret; } // Option Menu が開かれた時の動作 @Override public boolean onMenuOpened(int featureId, Menu menu) { return super.onMenuOpened(featureId, menu); } }
プログラムを実行すると...
SubMenu は...
こんな感じ!
参考サイト
http://developer.android.com/intl/ja/reference/android/view/Menu.html
http://developer.android.com/intl/ja/reference/android/app/Activity.html
0 件のコメント:
コメントを投稿