Android Menu 상세 설명 및 예시 코드
1.옵션 메뉴 OptionsMenu
2.컨 텍스트 메뉴 ContextMenu
3.하위 메뉴 SubMenu
Android 사용자 인 터 페 이 스 를 구성 하 는 View 이외에 메뉴 와 대화 상자 가 있 습 니 다.이 강 의 는 메뉴 의 사용 을 함께 배 워 보 겠 습 니 다.
메뉴 는 사용자 인터페이스 에서 가장 흔히 볼 수 있 는 요소 로 사용 도 매우 빈번 하 다.안 드 로 이 드 에서 메뉴 는 다음 과 같은 세 가지 로 나 뉘 는데 옵션 메뉴(OptionsMenu),컨 텍스트 메뉴(ContextMenu)와 하위 메뉴(SubMenu)로 나 뉘 는데 다음은 각각 예 를 들 어 설명 한다.
1.옵션 메뉴 OptionsMenu
Android 휴대 전화 에 Menu 버튼 이 있 습 니 다.Menu 를 눌 렀 을 때 모든 Activity 에서 이 요청 을 선택 하여 처리 할 수 있 습 니 다.화면 밑 에 메뉴 가 나타 나 면 이 메뉴 를 옵션 메뉴 Options Menu 라 고 부 릅 니 다.일반적인 상황 에서 옵션 메뉴 는 최대 2 줄 마다 3 개의 메뉴 항목 을 표시 합 니 다.이 메뉴 항목 들 은 아이콘 이 있 고 Icon Menus 라 고도 부 릅 니 다.6 개 이상 이면...여섯 번 째 항목 부터 숨겨 집 니 다.여섯 번 째 항목 에 More 가 나타 납 니 다.More 를 클릭 해 야 여섯 번 째 항목 과 그 후의 메뉴 항목 이 나타 납 니 다.이 메뉴 항목 들 은 Expanded Menus 라 고도 합 니 다.
다음 에 우 리 는 하나의 예 를 통 해 옵션 메뉴 를 배 웁 니 다.중요 한 힌트 는 모두 코드 주석 에 넣 었 습 니 다.주의 하 세 요.
1.새 항목 Lesson 16HelloMenu,주 활동 이름 은 MainHelloMenu.java
2.res\layout\main.xml 의 내용 은 다음 과 같 습 니 다.
<?xml version="1.0" encoding="utf-8"?>
<linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="#003399" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
<textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView01" android:text=" " android:layout_margintop="5dp" android:textsize="20sp">
</textview>
<textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView02" android:text="1、 Menu " android:layout_margintop="5dp" android:textsize="20sp">
</textview>
</linearlayout>
3.MainHelloMenu.java 의 내용 은 다음 과 같다.
package android.basic.lesson16;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainHelloMenu extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
// Menu , Activity onCreateOptionsMenu , Menu menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/*
* add() , :
* 1、 , Menu.NONE,
* 2、Id, ,Android Id
* 3、 ,
* 4、 ,
*/
menu.add(Menu.NONE, Menu.FIRST + 1, 5, " ").setIcon(
android.R.drawable.ic_menu_delete);
// setIcon() , , ,
// android.R , R
menu.add(Menu.NONE, Menu.FIRST + 2, 2, " ").setIcon(
android.R.drawable.ic_menu_edit);
menu.add(Menu.NONE, Menu.FIRST + 3, 6, " ").setIcon(
android.R.drawable.ic_menu_help);
menu.add(Menu.NONE, Menu.FIRST + 4, 1, " ").setIcon(
android.R.drawable.ic_menu_add);
menu.add(Menu.NONE, Menu.FIRST + 5, 4, " ").setIcon(
android.R.drawable.ic_menu_info_details);
menu.add(Menu.NONE, Menu.FIRST + 6, 3, " ").setIcon(
android.R.drawable.ic_menu_send);
// return true
return true;
}
//
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case Menu.FIRST + 1:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
case Menu.FIRST + 2:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
case Menu.FIRST + 3:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
case Menu.FIRST + 4:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
case Menu.FIRST + 5:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
case Menu.FIRST + 6:
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
break;
}
return false;
}
// , ,menu 、back
@Override
public void onOptionsMenuClosed(Menu menu){
Toast.makeText(this, " ", Toast.LENGTH_LONG).show();
}
//
@Override
public boolean onPrepareOptionsMenu(Menu menu){
Toast.makeText(this, " onPrepareOptionsMenu , ", Toast.LENGTH_LONG).show();
// false, menu ,onCreateOptionsMenu
return true;
}
}
4.프로그램 실행,구현 효과 그림:어린이 신발 들 은 액 티 비 티 의 옵션 메뉴 와 관련 된 세 가지 방법 에 유의 할 수 있다.
5.위의 예 를 xml 로 바 꾸 고 res 에 디 렉 터 리 menu 를 새로 만 들 고 그 중에서 options 를 만 듭 니 다.menu.xml,내용 은 다음 과 같 습 니 다.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item01" android:icon="@android:drawable/ic_menu_add" android:title=" "></item>
<item android:id="@+id/item02" android:icon="@android:drawable/ic_menu_edit" android:title=" "></item>
<item android:id="@+id/item04" android:icon="@android:drawable/ic_menu_info_details" android:title=" "></item>
<item android:id="@+id/item05" android:icon="@android:drawable/ic_menu_delete" android:title=" "></item>
<item android:id="@+id/item06" android:icon="@android:drawable/ic_menu_help" android:title=" "></item>
</menu>
6.MainHelloMenu.java 의 onCreate OptionsMenu()방법 을 변경 합 니 다.내용 은 다음 과 같 습 니 다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.getMenuInflater().inflate(R.menu.options_menu, menu);
return true;
}
7.다시 실행 프로그램 보기 결과:두 가지 방법 을 비교 해 보면 개인 적 으로 메뉴 의 xml 를 미리 정의 하 는 것 이 좋 고 프로그램 코드 부분 이 뚜렷 할 것 같 습 니 다.2.컨 텍스트 메뉴 ContextMenu(계속)3.하위 메뉴 SubMenu(계속)
이상 은 안 드 로 이 드 메뉴 자료 에 대한 정리 입 니 다.추 후 관련 자 료 를 계속 보충 하 겠 습 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.