메뉴 건너뛰기

조회 수 6934 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안드로이드 왼쪽 하단부에 있는 하드웨어 버튼인 '메뉴(Menu)' 키를 누르면 
지정된 메뉴들이 나타납니다. 옵션 메뉴라고 하는데, 이 메뉴들을 상황에 따라 동적으로 구성할 필요가 있을 때가 있습니다.

이럴 때는 다음처럼 할 수 있습니다.
(코드의 일부만 발췌입니다. 따라서 아래 코드를 보시고 상황에 맞게 넣어주셔야 합니다.)
 

01.// Option Menu Item
02.private static final int        MENU_OPEN_WEB_BROWSER   = Menu.FIRST + 1;
03.private static final int        MENU_ADD_QUEUE          = MENU_OPEN_WEB_BROWSER + 1;
04.private static final int        MENU_PLAY_QUEUE         = MENU_ADD_QUEUE + 1;
05.private static final int        MENU_LIST               = MENU_PLAY_QUEUE + 1;
06.private static final int        MENU_CONNECT_INFO       = MENU_LIST + 1;
07.private static final int        MENU_DETAILS            = MENU_CONNECT_INFO + 1;
08. 
09.// Dynamic Option Menu
10.private Menu                    m_Menu = null;
11. 
12.@Override
13.public boolean onCreateOptionsMenu(Menu menu)
14.{
15.    m_Menu = menu;
16.     
17.    CheckProperOptionMenu();
18.     
19.    return true;
20.}
21. 
22.private void CheckProperOptionMenu()
23.{
24.    m_Menu.removeItem(MENU_ADD_QUEUE);
25.    m_Menu.removeItem(MENU_PLAY_QUEUE);
26.    m_Menu.removeItem(MENU_LIST);
27.    m_Menu.removeItem(MENU_CONNECT_INFO);
28.    m_Menu.removeItem(MENU_DETAILS);
29.     
30.    if (bIsCurrentFlag == true)
31.    {
32.        m_Menu.add(Menu.NONE, MENU_PLAY_QUEUE, Menu.NONE, R.string.menu_play_queue)
33.        .setIcon(R.drawable.sk_icon_addqueue);
34.    }
35.    else
36.    {
37.        m_Menu.add(Menu.NONE, MENU_ADD_QUEUE, Menu.NONE, R.string.menu_add_to_queue)
38.        .setIcon(R.drawable.sk_icon_addqueue);
39.    }
40.     
41.    m_Menu.add(Menu.NONE, MENU_LIST, Menu.NONE, R.string.menu_list)
42.    .setIcon(R.drawable.sk_icon_list);
43.    m_Menu.add(Menu.NONE, MENU_CONNECT_INFO, Menu.NONE, R.string.menu_connection_info)
44.        .setIcon(R.drawable.sk_icon_connectioninfo);
45.    m_Menu.add(Menu.NONE, MENU_DETAILS, Menu.NONE, R.string.menu_details)
46.    .setIcon(R.drawable.sk_icon_details);
47.}


이런 식으로 작성하시면 상황에 맞는 옵션 메뉴를 구성하실 수 있습니다.


List of Articles
번호 제목 날짜 조회 수
157 안드로이드 - 색상 리소스 (Color Resource) 추가 </color> file 2021.03.31 554
156 안드로이드 - 뷰페이저(ViewPager) 구현 file 2021.04.02 326
155 안드로이드 - 버튼 이벤트 처리방법 정리 (리스너 구현 및 이벤트 핸들링) file 2021.03.31 348
154 안드로이드 - 문자열 배열 리소스 추가하기 <string-array> file 2021.03.31 824
153 안드로이드 - 문자열 리소스를 활용한 다국어 지원 file 2021.03.31 290
152 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기 file 2021.03.31 909
151 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) file 2021.04.01 343
150 안드로이드 - 리스트뷰(ListView) 구현 file 2021.04.01 496
149 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상 2021.04.02 753
148 안드로이드 - 리사이클러 뷰(RecyclerView) 구현 file 2021.04.01 392
147 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 320
146 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 242
145 안드로이드 - 네비게이션 드로어(Navigation Drawer)를 활용하여 슬라이드 메뉴 구현하기 file 2021.04.01 1885
144 안드로이드 - 날짜 및 시간 정보 입력받기 (DatePickerDialog / TimePickerDialog) file 2021.04.01 1785
143 안드로이드 - 갤러리에서 이미지 가져오기 2021.04.02 670
142 안드로이드 - Text 입력 이벤트 처리 - TextWatcher file 2021.04.02 563
141 안드로이드 - switch를 사용법 및 구현 file 2021.04.02 1287
140 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 254
139 안드로이드 - SnackBar를 사용해 팝업창 띄우기 file 2021.03.31 296
138 안드로이드 - SharedPreferences에 앱 정보 저장하기 file 2021.04.02 397
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved