• 검색 결과가 없습니다.

메뉴와 다이어로그

N/A
N/A
Protected

Academic year: 2022

Share "메뉴와 다이어로그"

Copied!
15
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

메뉴와 다이어로그

성신여자대학교 IT 학부 우종정 교수

시작하면서

2

학습목표

목차

 액티비티

 리소스

 응용 프로그램 디버깅

(2)

재정의 메소드 추가와 …

재정의 메소드 추가

4

(3)

재정의 메소드 추가

폴더 추가

6

(4)

XML 파일 생성

(5)

개요

의미

 숨겨두었다가 필요할 때 화면에 표시할 수 있는 UI

 애플리케이션 수준에서 옵션 ∙ 컨텍스트 ∙ 서브 메뉴를 제공

 옵션 메뉴

모바일 단말기의 MENU 버튼을 누르면 화면 하단에 나타나는 메뉴를 의미

아이콘 메뉴와 확장 메뉴로 세분

 컨텍스트 메뉴

화면의 특정 뷰를 길게 누르는 동작에 의하여 나타나는 메뉴를 의미

옵션 메뉴와 달리 컨텍스트에 민감한 메뉴 항목을 뷰에 제공하고자 할 때 주로 사용

 서브 메뉴

옵션 메뉴나 컨텍스트 메뉴에 의한 메뉴 항목이 또 다른 항목을 포함하 는 일종의 팝업 창으로 나타나는 메뉴

서브 메뉴는 또 다른 서브 메뉴를 포함할 수 없다.

옵션 메뉴

10

아이콘 메뉴:

 애플리케이션 실행 도중 모바일 장치의 MENU 버튼을 클릭하면 화 면 하단에 나타나는 메뉴

 최대 6개의 메뉴 항목을 지원

 아이콘을 지원하는 유일한 메뉴 방식이며 체크박스 혹은 라디오버 튼을 지원하지 않는 유일한 메뉴 방식

 메뉴 항목이 7개 이상이 되는 경우에는 화면 하단에 이들을 모두 표시할 수 없다.

확장 메뉴:

 아이콘 메뉴에서 More라는 메뉴 항목을 누르면 노출되는 메뉴

 옵션 메뉴가 7개 이상의 항목을 포함하면 6번째 메뉴 항목부터는 자동적으로 확장 메뉴에 나타난다.

(6)

옵션 메뉴

메뉴의 생성

 onCreateOptionsMenu(Menu menu)

 사용자가 MENU 버튼을 누르면 호출되는 액티비티 메소드

 안드로이드는 표준 옵션 메뉴의 내용을 초기화하기 위하여 호출

 메뉴가 만들어질 때 한번만 호출

메뉴 항목 추가

 Menu 객체에 메뉴 항목이나 서브 메뉴 항목 추가

 public abstract MenuItem add(int groupId, int itemId, int order, CharSequence title 혹은 int titleRes)

 public abstract SubMenu addSubMenu (int groupId, int itemId, int order, CharSequence title 혹은 int titleRes)

옵션 메뉴

12

실행중 메뉴 항목 변화

 onPrepareOptionsMenu(Menu menu)

 실행 중에 메뉴 항목을 변경하고자 한다면 다음 메소드를 재정의

 애플리케이션의 상태에 따라 메뉴 내용을 동적으로 수정하거나 메 뉴 항목을 효율적으로 활성화 혹은 비활성화

메뉴 항목 선택

 onOptionsItemSelected(MenuItem item)

 옵션 메뉴에서 메뉴 항목을 선택하면 호출되는 메소드

(7)

옵션 메뉴

예제

컨텍스트 메뉴

14

의미

 마우스 우측 버튼을 클릭할 때 나타나는 메뉴와 개념적으로 비슷

 뷰를 길게 누르면 뷰와 관련된 기능을 표시하는 플로팅 메뉴

 컨텍스트 메뉴를 생성하는 방법은 구조적으로 옵션 메뉴와 유사.

그러나 컨텍스트 메뉴는 액티비티 혹은 특정 뷰에 종속된 메뉴이 므로 뷰와 컨텍스트 메뉴를 연관시켜야 함

 컨텍스트 메뉴는 ListView 항목을 취급할 때 자주 사용하지만 어떤 뷰를 위해서도 생성 가능

(8)

컨텍스트 메뉴

메뉴 생성

 onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

메뉴 항목 선택

 onContextItemSelected(MenuItem item)

컨텍스트 메뉴의 뷰에 등록

 registerForContextMenu(View view)

 setOnCreateContextMenuListener(View.OnCreateContextMenuList ener l)

컨텍스트 메뉴

16

예제

(9)

메뉴 전개

의미

 리소스를 사용하여 정의한 메뉴를 코드로 정의

 메뉴도 리소스이기 때문에 코드가 아닌 XML 파일을 사용하면 훨 씬 쉽게 정의

 메뉴 구조를 정의한 리소스 XML 파일을 다른 리소스처럼 프로젝 트의 res/menu 폴더 혹은 res/string 폴더에 저장 가능

 메뉴의 종류가 많으면 res/menu 폴더를 생성하여 메뉴를 위한 XML 파일을 관리

메뉴 전개

18

XML 파일로 메뉴 정의

 3개의 유효한 엘리먼트 - menu, group, 그리고 item - 가 존재

 루트 엘리먼트는 반드시 menu

 item과 group 엘리먼트는 menu의 자식

 또한 item 엘리먼트는 group 엘리먼트의 자식이 될 수 있음

 서브 메뉴를 생성하기 위하여 또 다른 menu 엘리먼트가 item의 자 식이 될 수도 있음

메뉴 전개자 생성과 메뉴 전개

 메뉴 전개자 생성

public MenuInflater getMenuInflater ()

현재 액티비티에서 MenuInflater 객체를 생성하여 반환하는 메소드

(10)

메뉴 전개

예제

(11)

개요

의미

 문자 그대로 시스템과 대화하기 위한 윈도우

 사용자에게 시스템의 현재 상태 및 오류 사항 등을 알려주기 위하 여 경고 메시지를 띄우거나 질문 사항을 보내어 사용자의 선택을 받아들이는 기본적인 통신 수단

 다이어로그는 View 클래스와 무관. 따라서 XML 리소스 파일로 생 성하지 않고 코드로 생성 가능

대표적인 Dialog 클래스

경고 다이어로그

22

의미

 윈도우즈의 모달 다이어로그 방식과 유사

 경고 다이어로그에서 버튼을 누르지 않으면 진행하던 작업으로 돌 아가거나 다른 작업으로 진행할 수 없음

 작업의 결과나 경고 등 중요한 메시지를 사용자에게 전달할 때 경 고 다이어로그를 사용

 Dialog 클래스의 확장 클래스

(12)

경고 다이어로그

생성과 표시

 AlertDialog.Builder(Context) 메소드를 사용하여 Builder 객체를 생 성한 후 경고 다이어로그의 세부 속성을 설정

 AlertDialog.Builder() 메소드의 매개변수인 Context를 위해서는 다 이어로그를 생성하는 부모 액티비티를 사용

 세부 속성을 설정한 후 show() 메소드를 사용하면 Builder 객체를 생성하고 화면에 표시

세부 속성 설정

 public AlertDialog.Builder setIcon (int iconId 혹은 Drawable icon)

 public AlertDialog.Builder setMessage (int messageId 혹은 CharSequence message)

 public AlertDialog.Builder setTitle (int titleId 혹은 CharSequence title)

경고 다이어로그

24

예제 1

(13)

경고 다이어로그

경고 다이어로그의 3가지 버튼 설정

 public AlertDialog.Builder set...Button (CharSequence text 혹은 int textId, DialogInterface.OnClickListener listener)

…은 Negative, Neutral, Positive 중 하나

Back 버튼에 의한 다이어로그 취소 금지

 public AlertDialog.Builder setCancelable (boolean cancelable)

경고 다이어로그

26

예제 2

(14)

경고 다이어로그

3개의 버튼 외에 리스트 혹은 체크박스와 라디오버튼의 추가

 public AlertDialog.Builder setItems (CharSequence[] items, DialogInterface.OnClickListener listener)

예제 3

경고 다이어로그

28

예제 4

(15)

날짜 선택 다이어로그

의미

 달력을 기준으로 월 ∙ 일 ∙ 연도을 선택하는 위젯

 DatePicker를 포함하는 간단한 다이어로그

 날짜 선택 다이어로그에서 사용자가 선택한 날짜 값을 받아올 수 있도록 OnDateSetListener()를 설정

 날짜 선택 다이어로그에서 연월일 값을 선택하면 onDateSet() 메 소드를 호출하며 이 메소드를 통해 사용자가 선택한 연월일 값을 화면에 표시

날짜 선택 다이어로그

30

예제

참조

관련 문서

예외라면 정말 한국인이 없는 지역 (그런 지역에 한국인이 다닐만한 어학원이 있 을지도 의문이지만)에 가서 철저하게 영어로만 서바이벌을 하기로 한다든지, 원어민

1.시행)에 따라 학교안전사고 예방 사업과 학교안전공제 사업을 효율적으로 수행하기 위하여 전라북도교육감이 설립한 특수법인1. ○

하지만 framing concept로서 정치적

- 본 연구에서 제시한 프로그램 메뉴, 주변 마을의 프로그램 운영사례를 참고하여 계절, 주제, 방문형태, 운영주체별로 해당 농가 또는 마을의 여건에 적합한

ƒ 광섬유 성능시험 ( FIBER OPTIC PERFORMANCE QUALIFICATION TESTING). ƒ 다이오드성능시험

귀속물품을 구매한 경우 과제 종료 후 반드시 구매물품

해외취업 희망 청년을 대상으로 맞춤형 연 수로 구인수요에 맞는 인재양성, 해외취업 알선, 해외취업정책지원금 지급, 해외취업 정보제공 등 해외취업

[r]