2014년 8월 12일 화요일

Android - 간단한 메뉴버튼 옵션메뉴 생성하기

한 액티비티에서 보이는 화면에 버튼을 추가하지 않고 메뉴버튼을 선택했을 때 나타나는 옵션메뉴를 간단하게 생성해 보겠습니다.

옵션메뉴를 생성하려고 하는 곳에서 다음과 같은 소스를 추가하여 자신이 원하는 대로 수정하시면 되겠습니다.

간단하게 2개의 옵션메뉴를 생성해보겠습니다.

소스는 다음과 같습니다.


@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "홈").setIcon(android.R.drawable.ic_menu_revert);
menu.add(0, 1, 0, "새로고침").setIcon(android.R.drawable.ic_menu_rotate);
return true;
}

위 소스는 메뉴버튼을 생성할 때의 메소드입니다.
add 메소드는 메뉴를 추가할 때마다 써주는 것이구요 2개 생성이니깐 2개의 메소드를 썼습니다.
add메소드는 4개의 인자를 가지는데요
menu.add(groupIditemIdordertitleRes)
groupId 는 메뉴 아이템을 그룹지을 때 사용되고,
itemId 는 아이템 식별을 위해 메뉴 아이템의 고유한 이름이 됩니다.
order 는 아이템 표시 순서를 지정하는데, 기본값으로는 추가된 순서대로 표시가 되고,
title 은 메뉴 아이템이 가지는 이름이며 , 구글 공식문서에서는 문자열 리소스로 작성하도록 권고하고 있네요

그리고 뒤에 setIcon은 보시는데로 아이콘을 같이 뛰어주기 위해 사용합니다.
현재 제가 쓴 방법은 기본으로 안드로이드에서 제공하는 이미지를 사용한 것이구요
사용자가 직접 만든 이미지를 사용할려면 R.drawable.이미지 가 되겠지요.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
 //처리할 이벤트
break;
 
case 1:
 // 처리할 이벤트 
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
이 소스는 옵션메뉴의 클릭 이벤트 처리 메소드 이구요
버튼처리처럼 메뉴의 아이템아이디 값을 받아와 처리합니다. 
add 메소드로 추가할 때 적는 itemId 값입니다.



이런식으로 하단 메뉴버튼을 누르면 밑에서 숨겨진옵션메뉴가 스르륵 올라옵니다.

간단하게 옵션메뉴 생성하는 방법을 살펴보았습니다.
도움이 되었으면 합니다. ~~~ 뿅 

댓글 없음:

댓글 쓰기