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

Android 2012.02.29 15:02


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

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

간단하게 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(groupId, itemId, order, titleRes)

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 값입니다.


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

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

 
저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

Write a comment