메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
197 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 583
196 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 614
195 [Android] 퍼미션 권한체크(테드퍼미션) 2021.09.14 616
194 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 621
193 안드로이드 - 갤러리에서 이미지 가져오기 2021.04.02 666
192 안드로이드 - AlertDialog 사용하여 알림창 띄우는 방법 총정리 file 2021.03.31 690
191 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상 2021.04.02 748
190 안드로이드에서 url 주소로 이미지 바로 불러오기 (Glide 사용) 2020.12.14 759
189 Firebase - 푸시알림 보내기 (2) 2021.09.30 768
188 안드로이드 - 문자열 배열 리소스 추가하기 <string-array> file 2021.03.31 811
187 안드로이드 - RatingBar를 통해 별점주기 file 2021.04.02 850
186 안드로이드 - Json 파싱하기 file 2021.04.02 851
185 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 906
184 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기 file 2021.03.31 906
183 안드로이드 - RecyclerView의 ViewType 구분하기 file 2021.04.02 934
182 안드로이드 - 플로팅 액션 버튼(Floating Action Button) 사용법 file 2021.04.02 971
181 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1025
180 WebView 작업할때 Net::ERR_UNKNOWN_URL_SCHEME 에러 발생할때 (전화걸기,문자보내기 안된다) 2020.12.14 1069
179 안드로이드 - KeyEvent(키 이벤트) 처리 file 2021.04.02 1214
178 안드로이드 - 텍스트뷰(TextView) 사용법 정리 file 2021.03.31 1254
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved