검색어 : actionbar submenu style
안드로이드/Android 옵션메뉴(OptionMenu) SubMenu 활용 하기~!
http://arabiannight.tistory.com/entry/311 
- > 쉬운방법
안드로이드/Android 옵션메뉴(OptionMenu) SubMenu 활용 하기~!
안드로이드 옵션메뉴(OptionMenu)에서 SubMenu를 활용 하는 방법 입니다. SubMenu란 옵션메뉴에서 하나의 Menu item을 그 하위의 sub item들과 묶어서 하나의 Group 형태로 활용하는 방법 입니다. SubMenu를 설정하고 SubMenu가 선택이 되었을 때는 안드로이드 ContextMenu와 동일한 형태의 팝업창을 보여 줍니다.
Menu
Menu
Menu
SubMenu
-> Menu
-> Menu
-> Menu
Menu
의 형태로 보시면 됩니다. 자 그럼 구현 방법에 대해 알아 보겠습니다. 일단 예제에는 Java 코드로 동적으로 생성하는 방법이 나와 있는데 XML 형태로 구현을 원한다면 아래 예제의 Java 코드의 Menu.add() 부분을 주석처리 하고,
// getMenuInflater().inflate(R.menu.activity_main, menu);
주석을 풀고 사용 하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80  | package arabiannight.tistory.com.optionmenusubmenu;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.widget.Toast;public class MainActivity extends Activity {    final int ONE = 0;    final int TWO = 1;    final int THREE = 2;    final int FOUR = 3;    final int FIVE = 4;    final int SIX = 5;    final int SEVEN = 6;    final int EIGHT = 7;    final int NINE = 8;    final int TEN = 9;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {                 // XML로 옵션메뉴 추가 하기//      getMenuInflater().inflate(R.menu.activity_main, menu);        // Java Code로 옵션메뉴 추가 하기        menu.add(0, ONE, Menu.NONE, "ONE").setIcon(android.R.drawable.ic_menu_rotate);        menu.add(0, TWO, Menu.NONE, "TWO").setIcon(android.R.drawable.ic_menu_add);        menu.add(0, THREE, Menu.NONE, "THREE").setIcon(android.R.drawable.ic_menu_agenda);        menu.add(0, FOUR, Menu.NONE, "FOUR");        menu.add(0, FIVE, Menu.NONE, "FIVE");                 // Menu에 SubMenu 추가        SubMenu subMenu = menu.addSubMenu("글씨체 설정");                 subMenu.add(1, SIX, Menu.NONE, "굴림체");        subMenu.add(1, SEVEN, Menu.NONE, "이탤릭체");        subMenu.add(1, EIGHT, Menu.NONE, "맑은고딕");        return true;    }    @Override    public boolean onPrepareOptionsMenu(Menu menu) {        return super.onPrepareOptionsMenu(menu);    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()) {        case ONE:            Toast.makeText(MainActivity.this, "ONE", Toast.LENGTH_SHORT).show();            break;        case TWO:            Toast.makeText(MainActivity.this, "TWO", Toast.LENGTH_SHORT).show();            break;        case EIGHT:            Toast.makeText(MainActivity.this, "EIGHT", Toast.LENGTH_SHORT).show();            break;        default:            break;        }        return super.onOptionsItemSelected(item);    }} | 
XML의 메뉴 구조 모습 입니다.
Android ActionProvider를 이용한 ActionBar Item Action에 대한 커스텀뷰 생성
반응형
    
    
    
  '차근차근 > Android' 카테고리의 다른 글
| 네비게이션 드로어 Navigation Drawer (0) | 2015.02.04 | 
|---|---|
| actionbar 란 (0) | 2015.02.03 | 
| actionbar , 하단tab (0) | 2015.02.03 | 
| [android] 2.2에서 fragment 사용하기 (0) | 2015.02.03 | 
| 허니컴 이하에서 ActionBar 사용하기 (ActionbarSherlock) (0) | 2015.02.03 |