Android 메뉴 정의 및 ActionBar 구현
그 생 성 방식 은 두 가지 가 있다.
자바 코드 로 만 들 기XML 파일 에서 정의첫 번 째 방법:
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
// “ ”
final int FONT_10 = 0X111;
final int FONT_12 = 0X112;
final int FONT_14 = 0X113;
final int FONT_16 = 0X114;
final int FONT_18 = 0X115;
// “ ”
final int PLAIN_ITEM = 0x11b;
// “ ”
final int FONT_RED = 0X116;
final int FONT_BLUE = 0X117;
final int FONT_GREEN = 0X118;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edit);
}
// menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// menu “ ”
SubMenu fontMenu = menu.addSubMenu(" ");
//
fontMenu.setIcon(R.mipmap.ic_launcher);
//
fontMenu.setHeaderIcon(R.mipmap.ic_launcher_round);
//
fontMenu.setHeaderTitle(" ");
fontMenu.add(0, FONT_10, 0, "10 ");
fontMenu.add(0, FONT_12, 0, "12 ");
fontMenu.add(0, FONT_14, 0, "14 ");
fontMenu.add(0, FONT_16, 0, "16 ");
fontMenu.add(0, FONT_18, 0, "18 ");
// menu “ ”
menu.add(0, PLAIN_ITEM, Menu.NONE, " ");
// menu “ ”
SubMenu colorMenu = menu.addSubMenu(" ");
colorMenu.setIcon(R.color.colorPrimaryDark);
//
colorMenu.setHeaderIcon(R.color.colorAccent);
//
colorMenu.setHeaderTitle(" ");
colorMenu.add(0, FONT_RED, 0, " ");
colorMenu.add(0, FONT_GREEN, 0, " ");
colorMenu.add(0, FONT_BLUE, 0, " ");
return super.onCreateOptionsMenu(menu);
}
//
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//
switch (item.getItemId()) {
case FONT_10:
editText.setTextSize(10 * 2);
break;
case FONT_12:
editText.setTextSize(12 * 2);
break;
case FONT_14:
editText.setTextSize(14 * 2);
break;
case FONT_16:
editText.setTextSize(16 * 2);
break;
case FONT_18:
editText.setTextSize(18 * 2);
break;
case FONT_RED:
editText.setTextColor(Color.RED);
break;
case FONT_GREEN:
editText.setTextColor(Color.GREEN);
break;
case FONT_BLUE:
editText.setTextColor(Color.BLUE);
break;
case PLAIN_ITEM:
Toast.makeText(MainActivity.this, " ", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}
사용자 가 menu 키 를 누 르 면 onCreateOptionMenu()방법 이 실 행 됩 니 다.따라서 자신의 실현 이 필요 하 다 면 이 방법 을 다시 써 야 합 니 다.이 방법 은 menu 대상 에 전 달 됩 니 다.이 대상 의 add()방법 을 이용 하여 하위 메뉴 를 추가 할 수 있 습 니 다.마찬가지 로 하위 메뉴 도 add()방법 을 통 해 메뉴 항목 을 추가 할 수 있 습 니 다.add()방법의 네 가지 매개 변수 중:
첫 번 째 매개 변 수 는 groupId 입 니 다.각 메뉴 항목 이 같은 그룹 에 있 는 지 여 부 를 제어 할 수 있 습 니 다.
두 번 째 인 자 는 itemId,즉 모든 메뉴 항목 의 Id 입 니 다.
세 번 째 매개 변 수 는 order 로 각 item 의 순 서 를 제어 합 니 다.순서 에 관심 이 없다 면,NONE 나 0 으로 들 어 갈 수 있다.대응 하 는 int 형식의 수치 가 작 을 수록 메뉴 항목 의 순서 가 위 에 있 습 니 다.order=1 과 같은 메뉴 항목 은 order=2 보다 위 에 있 습 니 다.
네 번 째 매개 변 수 는 title 입 니 다.메뉴 항목 의 제목 에 대응 합 니 다.
4.567917.각 메뉴 항목 은 일련의 setter 방법 에 대응 하고 말 그대로 하면 됩 니 다4.567917.메뉴 항목 을 클릭 한 후에 자신의 실현 이 필요 하 다 면 onOptionsItemSelected()방법 을 다시 써 야 합 니 다.이 방법 은 이미 만 든 menuItem 항목 에 전 달 됩 니 다.switch 를 이용 하면 모든 메뉴 항목 의 클릭 이벤트 에 대해 서로 다른 실현 을 제공 할 수 있 습 니 다자바 코드 로 각 메뉴 항목 을 실현 하 는 것 은 사고방식 에 더욱 적합 할 수 있 지만 코드 가 비대 해 지 는 경우 가 많다.
XML 에서 옵션 메뉴 를 정의 하 는 방법 을 소개 합 니 다.
XML 파일 에서 메뉴 를 정의 하려 면 먼저 자원 파일 에 menu 라 는 폴 더 를 만들어 야 합 니 다.
그리고 xml 파일 을 만 듭 니 다:
xml 파일 의 루트 노드 는 menu 여야 합 니 다.
그 중에서 각 item 탭 은 메뉴 항목 을 정의 하고
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.