메뉴 건너뛰기

조회 수 6926 추천 수 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
번호 제목 날짜 조회 수
257 버튼 이벤트 추가하기 file 2021.03.31 191
256 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 194
255 버튼 이벤트 file 2021.03.31 205
254 안드로이드 - 컨텍스트 메뉴(Context Menu) 사용 예제 file 2021.04.01 207
253 안드로이드 액티비티 세로고정 2021.09.14 207
252 안드로이드 - 인텐트(Intent)를 활용한 액티비티(Activity) 생성 및 실행하기 file 2021.03.31 213
251 안드로이드 - 액티비티(Activity)와 액티비티 생명 주기(Activity Life Cycle) file 2021.04.01 225
250 안드로이드 - setContentView()와 레이아웃 전개자(LayoutInflater) 2021.04.01 227
249 안드로이드 가상머신 실행 속도 빠르게 하기 file 2021.03.31 228
248 버튼 생성, 이벤트 처리 file 2021.03.31 236
247 안드로이드 - 스타일 리소스(Style Resource) 사용하기 <style> file 2021.03.31 238
246 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 239
245 This Handler class should be static or leaks might occur 시 해결법 2020.12.14 240
244 Fragment를 통한 하단탭 예제1 file 2020.12.14 242
243 App 실행 file 2021.03.31 244
242 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 249
241 Virtual Device , 디자인 화면 file 2021.03.31 260
240 setContentView()와 레이아웃 전개자(LayoutInflater) 2021.03.31 266
239 안드로이드 - AsyncTask 구현 예제 file 2021.04.01 280
238 안드로이드 - Serializable를 활용한 다른 액티비티에 객체(Object) 전달하기 file 2021.03.31 281
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved