190 likes | 336 Views
Contents. 학습목표. 메뉴는 사용자의 명령을 받아들이는 가장 기본적인 장치며 , 옵션 메뉴와 컨텍스트 메뉴를 작성 및 출력하고 메뉴를 통해 프로그램의 현재 상태를 표시. 학습내용. 메뉴. 7.1.1 메뉴의 종류. 7.1.1 옵션 메뉴. 장비의 메뉴 버튼을 누르면 액티비티의 다음 메서드에서 메뉴를 생성한다 . boolean onCreateOptionsMenu (Menu menu)
E N D
Contents 학습목표 • 메뉴는 사용자의 명령을 받아들이는 가장 기본적인 장치며, 옵션 메뉴와 컨텍스트 메뉴를 작성 및 출력하고 메뉴를 통해 프로그램의 현재 상태를 표시 학습내용 메뉴
7.1.1 옵션 메뉴 • 장비의 메뉴 버튼을 누르면 액티비티의 다음 메서드에서 메뉴를 생성한다. • boolean onCreateOptionsMenu (Menu menu) • MenuItem add(int groupId, int itemId, int order, CharSequence title) • MeneItem add(int groupId, int itemId, int order, int titleRes) • SubMenu addSubMenu(int titleRes) • MenuItem setIcon(int iconRes) • MenuItem setTitle(CharSequence title) • MenuItem setVisible(boolean visible) • MenuItem setAlphabeticShortcut(char alphaChar) • MenuItem setChecked(boolean checked) • MenuItem setEnabled(boolean enabled) • ex) menu.add().setIcon().setTitle().setChecked();
7.1.1 옵션 메뉴 • 메뉴가 열릴 때 다음 메서드가 호출되며여기서 메뉴의 상태를 관리한다. 즉 메뉴항목을 추가하거나 삭제 할 수 있고 속성도 변경할 수 있다. • boolean onPrepareOptionsMenu (Menu menu) • 메뉴가 선택될 때 다음 메서드가 호출되며여기서 메뉴의 선택을 처리한다. item 항목의 getItemId메서드를 호출하여 항목의 ID를 조사하고 적절한 명령을 수행한다. • boolean onOptionsItemSelected (MenuItem item)
7.1.2 XML로 메뉴 정의하기 • 메뉴는 프로그램의 동작을 정의라 하기보다는 일종의 디자인이므로 XML로 작성하는 것이 훨씬 더 쉽고 관리하기 좋다.
7.1.3 체크메뉴 항목 • 체크 메뉴 항목 • 메뉴는 기본적으로 명령을 입력 받는 장치이지만 체크나 라디오 그룹 등을 통해 프로그램의 현재 상태를 보여준다. • checkableBehavior속성으로 관리 방법 및 모양을 결정한다
7.1.3 체크메뉴 항목 - 예제 • BigFont 적용시 각각의 결과
7.1.4 컨텍스트 메뉴 • 특정 뷰나 항목에 필요한 명령들만 모아 놓은 메뉴로 뷰를 long클릭하거나 키패드의 가운데 버튼을 누르면 화면 중앙에 컨텍스트 메뉴가 열린다. • 컨텍스트 는 다음 메서드로 등록한다. • void Activity.registerForContextMenu (View view) • 생성 및 선택 시 다음 메서드가 호출된다. • void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) • 컨텍스트 메뉴의 항목을 선택하면 다음 메서드를 호출된다. • boolean onContextItemSelected (MenuItem item) • 뷰의 컨텍스트 메뉴를 생성할 때는 다음 메서드가 호출된다. • void onCreateContextMenu (ContextMenu menu)
7.1.4 컨텍스트 메뉴 - 예제 • BigFont 적용시 각각의 결과