- 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 |
- 재능이의 돈버는 일기
- 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
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] 제4강좌 - 메뉴 만들기 본문
@메뉴 만들기
- main.xml 파일이 setContentView(R.layout.main);에 의해서 불려짐.
- android:text="@string/hello" 스트링 폴더의 hello의 text를 출력하라.
@@@@ 메 뉴 @@@
- 옵션메뉴 : F2를 눌렀을 때 아래서 올라오는 메뉴/서브 메뉴를 가질수 있다.
라디오 박스와 같이 체크박스 사용 불가. 아이콘 사용 가능
최대 6개만 사용 가능. 6개 이상 작성시 5개만 표시되고 나머진 more로 표현됨.
해당 어플리케이션이 처음 생성될때만 단 한번 생성됨.(어프리케이션 실행중에 변경불가능)
# onCreateOptionMenu()를 이용하여 생성됨. 이미 생성되어 있는 것이기 때문에 @override로 불러서 사용함.
옵션메뉴의 항목은 직접 코딩하거나 xml로 불러다가 사용가능.
- 컨텍스트 메뉴 : 위젯을 장시간 누르고 있을때 팝업되는 메뉴/서브 메뉴를 가질수 있다.
라디오 박스와 같이 체크박스 사용 가능, 아이콘 사용 불가.
해당 위젯에서 롱클릭 할때마다 생성 가능(어플리케이션 실행중에도 수시로 변경 가능)
- 서브메뉴 : 옵셥 메뉴를 눌렀을 때 팝업으로 뜨는 메뉴./서브메뉴의 서브 메뉴를 가질수 없다.
@메뉴를 만드는 방법
1. 직접코딩(클래스)
- onCreateOptionMenu(menu.add( 0. MENU_NEW_GAME. 0, 'NEW GAME'))
★ add 메소드의 첫번째 인자:그룹id, 둘째:추가되는 메뉴 항목, 셋째:순서, 넷째:메뉴 항목 타이틀 ★
add(그룹id, 추가되는 메뉴 항목, 순서, 메뉴 항목 타이틀)
- setIcon 매소드 : 아이콘 생성시 사용
- addSubmenu : 서브메뉴를 꾸며줄때 사용, 옵션메뉴 X
2. 불러오기(매소드)
★xml로 불러들일 때
- inflate() : xml문서를 해석해서 각각의 위치에 전개 시켜주는 것
xml문서마다 각자 다른 inflate가 존재하고 inflate를 실행하기 위해서 inflater가 존재함.
ex) MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option.menu);
코딩 <menu xmlns: > //xml 선언부
<item android:id="@+id/insert-note" //insert-note에 id이름 입력
android:title:"Insert note"/>
</menu>
- onOptionsItemSelected 매소드 : 옵션메뉴의 항목(item)을 선택하였을 때 해당항목을 자동연결 시켜줌
- getItemId 메소드 : 선택된 아이템의 아이디를 구별하여 해당 항목 실행(아이드를 끌어옴)
- 아이디를 비교하기 위하여 if문,switch()문을 생성하여야 함 ()안에는 getItemId()를 입력.
============================================================================================================================================
과제 1 메뉴 만들기
@ src폴더의 andtest.java @
package and.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
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){ //변경 불가능
menu.add(0, MENU_TEST, 0, "Test Menu Button"); //그룹 id,메뉴항목 id,순서,메뉴항목 타이틀
menu.add(0, MENU_QUIT, 0, "Test Quit Button"); //순서를 같게 놓으면 add 한 순서대로 나옴
menu.add(0, MENU_ICON, 0, "Test Icon BUtton").setIcon(R.drawable.icon); //아이콘 추가 문구
return true; //부울린 값으로 리턴해 줌
}
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_TEST:
setContentView(R.layout.test);
return true;
case MENU_QUIT:
setContentView(R.layout.quit);
return true;
}
return false;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
============================================================================================================================================☆ layout 폴더에 xml 추가 방법 ☆
### layout->우클릭->NEW->android xml file->next->filename->layout->linearlayout->finish ###
@test.xml@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="TEST화면"
android:background="#FF0000FF" />
</LinearLayout>
============================================================================================================================================
@quit.xml@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="QUIT화면"
android:background="#FFFF0000" />
</LinearLayout>
============================================================================================================================================
@ 나타났다가 사라지는 메뉴 만들기 Toast 이용 @
package and.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
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){ //변경 불가능
menu.add(0, MENU_TEST, 0, "Test Menu Button");//그룹 id,메뉴항목 id,순서,메뉴항목 타이틀
menu.add(0, MENU_QUIT, 0, "Test Quit Button");//순서를 같게 놓으면 add 한 순서대로 나옴
menu.add(0, MENU_ICON, 0, "Test Icon BUtton").setIcon(R.drawable.icon);//아이콘 추가
return true; //부울린 값으로 리턴해 줌
}
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case MENU_TEST:
setContentView(R.layout.test);
Toast.makeText(this,"파란화면을 선택하셨습니다.",Toast.LENGTH_SHORT).show();
//Toast.makeText(어디에,"보여줄 문장",보여주는 시간).show();
//Toast를 사용하려면 java에서 import 선언을 해 주어야 한다.
return true;
case MENU_QUIT:
setContentView(R.layout.quit);
Toast.makeText(this,"빨간화면을 선택하셨습니다.",Toast.LENGTH_SHORT).show();
return true;
case MENU_ICON:
setContentView(R.layout.quit);
Toast.makeText(this,"아이콘이 사라집니다.",Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
============================================================================================================================================
[출처] 제4강좌 - 메뉴 만들기|작성자 빡ss
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] 제6강좌 - 다이얼로그 (0) | 2011.05.26 |
---|---|
[안드로이드] 제5강좌 - 옵션메뉴,서브메뉴 만들기 (0) | 2011.05.26 |
[안드로이드] 제3강좌 - 안드로이드 리니어 레이아웃 편집 (0) | 2011.05.25 |
[안드로이드] 안드로이드 에뮬레이터 모바일 모양 스킨으로 변경하는 법 (0) | 2011.05.24 |
[안드로이드] 버튼이 오른쪽 정렬이 안됩니다... (0) | 2011.05.24 |