2012年03月07日

メニュー表示のカスタマイズ(2)


サブメニューの表示
オプションメニューにはサブメニューを追加することができます
オプションメニューを表示する
サブメニューの下にさらにサブメニューを追加する事はできません
またコンテキストメニューにはサブメニューを使用する事はできません
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
 
public class TestActivity extends Activity {
	//menuの表示順を定義
	private static final int FILE = Menu.FIRST;
	private static final int EDIT = Menu.FIRST+10;

	private static final int FILE_NEW = FILE+1;
	private static final int FILE_OPEN = FILE+2;
	private static final int FILE_SAVE = FILE+3;;
	 
	private static final int EDIT_UNDO = EDIT+1;
	private static final int EDIT_REDO = EDIT+2;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
    }
     
    //menu作成
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
		boolean result = super.onCreateOptionsMenu(menu);
		//menuとSubMenuを作成
		SubMenu fileMenu = menu.addSubMenu(Menu.NONE, FILE, Menu.NONE, "File");
		SubMenu editMenu = menu.addSubMenu(Menu.NONE, EDIT, Menu.NONE, "Edit");
		
		fileMenu.add(Menu.NONE, FILE_NEW, Menu.NONE, "new");
		fileMenu.add(Menu.NONE, FILE_OPEN, Menu.NONE, "open");
		fileMenu.add(Menu.NONE, FILE_SAVE, Menu.NONE, "save");
		 
		editMenu.add(Menu.NONE, EDIT_UNDO, Menu.NONE, "undo");
		editMenu.add(Menu.NONE, EDIT_REDO, Menu.NONE, "redo");
	return result;
	}
	
    //menuが押された時の処理
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case FILE_NEW:
            // ここにITEM1が押された時の処理を記述
            Log.i("tag","FILE_NEWが押されました");
            return true;
        case FILE_OPEN:
            // ここにITEM2が押された時の処理を記述
            Log.i("tag","FILE_OPENが押されました");
            return true;
        case FILE_SAVE:
            // ここにITEM1が押された時の処理を記述
            Log.i("tag","FILE_SAVEWが押されました");
            return true;
        case EDIT_UNDO:
            // ここにITEM2が押された時の処理を記述
            Log.i("tag","EDIT_UNDOが押されました");
            return true;
        case EDIT_REDO:
            // ここにITEM1が押された時の処理を記述
            Log.i("tag","EDIT_REDOが押されました");
            return true;
        }
        return false;
    }
     
     
     
}
「MENU」→「File」を選択するとサブメニューが表示されます
device18.png
スポンサードリンク

posted by kenken at 13:56 | Comment(0) | TrackBack(0) | ウィジェット メニュー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/256186244
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。