- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] 제5강좌 - 옵션메뉴,서브메뉴 만들기 본문
Option Menu 1) ~.java에서 생성 |
Menu.add( , , , ).setIcon(); |----> 생성메소드 onCreateOptionsMenu(Menu menu)
| 아이템 선택시 자동 호출 메소드 onOptionItemSelected(MenuItem menuItem)
2) ~.xml 문서 이용 <?xml ~~~~~?>~ |
<menu>
<item - id
- title ===================>>>> MenuInflater.inflate( )
- icon
@@@ 서브메뉴 만들기 .java 이용 @@@
Submenu etc = menu.addSubMenu("서브메뉴");
etc.add(0,3,0,"메뉴");
하나로 종합 ==> menu.addSubMenu("서브메뉴").add(0,3,0,"메뉴3");
============================================================================================================================================
@@ 옵션 항목에 서브메뉴 띄우기 @@
public class Andtest extends Activity { //public 공유가능
/** Called when the activity is first created. */
private static final int MENU_TEST=0; //private 개인적인것 final 마지막 상속자 static 변수를 상수로 정할 때
private static final int MENU_QUIT=1; // 변수형이 앞에온다.
private static final int MENU_ICON=2;
private static final int MENU_SUB=3;
private static final int MENU_SUB2=4;
@Override
public boolean onCreateOptionsMenu(Menu menu){ //변경 불가능
menu.add(0, MENU_TEST, 0, "Test Menu Button").setIcon(R.drawable.icon); //그룹 id,메뉴항목 id,순서,메뉴항목 타이틀
menu.add(0, MENU_QUIT, 0, "Test Quit Button").setIcon(R.drawable.icon); //순서를 같게 놓으면 add 한 순서대로 나옴
menu.add(0, MENU_ICON, 0, "Test Icon BUtton").setIcon(R.drawable.icon); //아이콘 추가
//menu.addSubMenu("서브메뉴").add(0,MENU_SUB,0,"메뉴3"); //서브메뉴 추가 항목 , 선언한 이름이 2번째칸에 들어가야 함
SubMenu etc =menu.addSubMenu("서브메뉴"); //F2를 누르면 나오는 화면에 서브메뉴항목 추가
etc.add(0,3,0,"우동"); //서브메뉴항목을 누르면 우동과 만두 나옴
etc.add(0,4,0,"만두"); //분리하여서 작성시에는 두번째 해당숫자 입력
return true; //부울린 값으로 리턴해 줌
}
============================================================================================================================================
@@ 옵션항목에서 바로 서브메뉴로 선택가기 @@
★ 서브메뉴 항목 서로 중복되면 안됨. ★
public class Andtest extends Activity { //public 공유가능
/** Called when the activity is first created. */
private static final int MENU_TEST=0; //private 개인적인것 final 마지막 상속자 static 변수를 상수로 정할 때
private static final int MENU_QUIT=1; // 변수형이 앞에온다.
private static final int MENU_ICON=2;
private static final int MENU_SUB=3;
private static final int MENU_SUB2=4;
@Override
public boolean onCreateOptionsMenu(Menu menu){
SubMenu etc = menu.addSubMenu("Test");
etc.add(0,2,0,"서브메뉴1");
etc.add(0,2,0,"서브메뉴2");
etc.add(0,2,0,"서브메뉴3");
//menu.add(0, MENU_TEST, 0, "Test Menu Button").setIcon(R.drawable.icon);//그룹 id,메뉴항목 id,순서,메뉴항목 타이틀
//menu.add(0, MENU_QUIT, 0, "Test Quit Button").setIcon(R.drawable.icon);//순서를 같게 놓으면 add 한 순서대로 나옴
//menu.add(0, MENU_ICON, 0, "Test Icon BUtton").setIcon(R.drawable.icon);//아이콘 추가
//menu.addSubMenu("서브메뉴").add(0,MENU_SUB,0,"메뉴3"); //서브메뉴 추가 항목 , 선언한 이름이 2번째칸에 들어가야 함
//SubMenu etc =menu.addSubMenu("서브메뉴");
//etc.add(0,3,0,"우동"); //분리하여서 작성시에는 두번째 해당숫자 입력
//etc.add(0,4,0,"만두");
return true; //부울린 값으로 리턴해 줌
============================================================================================================================================
@@@ 서브메뉴 만들기 .xml 이용 @@@
- 메뉴관련 xml을 만들려면 res에 메뉴관련 폴더를 만들어서 사용한다.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu); //R.java파일의 menu폴더. 두번째 인자값은 oncreatoptionmenu의 menu를 말함.
res폴더에 ㅡmenu 폴더 생성-xml생성-이름적고 menu항목으로 클릭
@@@ menu.xml @@@
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/jjajjang" //item을 생성 "@+id/아이디이름"
android:title="짜장" //title 이름 (실제 보여지는 이름)
android:icon="@drawable/icon"
android:alphabeticShortcut="a"
/>
<item android:id="@+id/jjambong"
android:title="짬봉"
android:icon="@drawable/icon"
/>
<item android:id="@+id/submenu" //기타 안에 만두를 만듬 ..???? 왜 그러지???
android:title="기타">
<menu>
<item android:id="@+id/mandoo"
android:title="만두"/>
</menu>
</item>
</menu>
@@@ .java 도 변경을 시켜야 함 @@@
package and.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;
public class Andtest extends Activity { //public 공유가능
/** Called when the activity is first created. */
private static final int MENU_TEST=0; //private 개인적인것 final 마지막 상속자 static 변수를 상수로 정할 때
private static final int MENU_QUIT=1; // 변수형이 앞에온다.
private static final int MENU_ICON=2;
@Override
public boolean onCreateOptionsMenu(Menu menu){ //변경 불가능
SubMenu etc = menu.addSubMenu("Test");
etc.add(0,R.id.jjajjang,0,"짜장"); //2번째 인자에 해당 인자의 이름을 넣고 마지막 인자에 표시되는 이름을 작성한다.
etc.add(0,R.id.jjambong,0,"짬봉");
etc.add(0,R.id.mandoo,0,"만두");
return true; //부울린 값으로 리턴해 줌
}
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.jjajjang: //etc.add( , , , )의 2번째 인자에 들어갈 이름 선언 // xml에서 만들어진 것을 .java로 가지고 옴
Toast.makeText(this,"짜장은 달콤해.",Toast.LENGTH_SHORT).show(); //서브메뉴를 클릭하면 해당 "" 글씨가 나왔다 사라짐.
//Toast.makeText(어디에,"보여줄 문장",보여주는 시간).show();
return true;
case R.id.jjambong:
Toast.makeText(this,"짬봉은 매워.",Toast.LENGTH_SHORT).show();
return true;
case R.id.mandoo:
Toast.makeText(this,"만두는 뜨거워.",Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
============================================================================================================================================
[출처] 제5강좌 - 옵션메뉴,서브메뉴 만들기|작성자 빡ss
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] 제7강좌 - 기본위젯 편집 (0) | 2011.05.27 |
---|---|
[안드로이드] 제6강좌 - 다이얼로그 (0) | 2011.05.26 |
[안드로이드] 제4강좌 - 메뉴 만들기 (0) | 2011.05.25 |
[안드로이드] 제3강좌 - 안드로이드 리니어 레이아웃 편집 (0) | 2011.05.25 |
[안드로이드] 안드로이드 에뮬레이터 모바일 모양 스킨으로 변경하는 법 (0) | 2011.05.24 |