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 件のコメント:
コメントを投稿