07. 메뉴와 대화상자 제목
메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
01 메뉴 02 토스트 03 대화상자
1. 메뉴 메뉴 옵션 메뉴를 사용하는 방법 안드로이드의 메뉴는 옵션 메뉴와 컨텍스트 메뉴로 구분 메뉴 XML 파일 생성 후 Java에서 호출 Java 코드만으로 메뉴를 생성하는 방법
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[1/14] 메뉴 XML 파일을 이용한 방식
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[2/14] 메뉴 XML 파일 형식
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[3/14] onCreateOptionMenu() 메소드 기본 형식
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[4/14] onOptionsItemSelected( ) 메소드 기본 형식
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[5/14]
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[6/14] 안드로이드 프로젝트 생성 프로젝트 이름 : Project7_1 패키지 이름 : com.cookandroid.project7_1
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[7/14] 화면 디자인 및 편집 바깥 리니어레이아웃의 id를 baseLayout으로 지정 텍스트뷰 1개와 버튼 1개를 생성, 버튼 id는 button1로 함
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[8/14] 기존 메뉴 파일은 사용하지 않으므로 삭제
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[9/14] 메뉴 XML 파일 생성
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[10/14] 메뉴 XML 코딩
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[11/14] Java 코드 작성 및 수정 activity_main.xml의 레이아웃과 버튼에 대응할 전역변수 2개 메인 함수 onCreate( ) 안에서 위젯 변수 2개에 위젯을 대입
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[12/14] onCreateOptionsMenu( )를 Activity 클래스로부터 오버라이드
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[13/14] 자동완성된 코드에 나머지를 코딩
1. 메뉴 ▶ XML을 이용한 옵션 메뉴[14/14] 메뉴를 클릭했을 때 동작할 메소드 onOptionsItemSelected( )를 코딩
1. 메뉴 ▶ Java 코드만 이용한 옵션 메뉴[1/2] onCreateOptionsMenu( ) 메소드 안에서 메뉴 XML 파일에 접근하는 대신에 직접 Menu.add( ) 메소드로 메뉴 항목을 추가
1. 메뉴 ▶ Java 코드만 이용한 옵션 메뉴[2/2]
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[1/8] 컨텍스트 메뉴(Context Menu) 컨텍스트 메뉴 설정 순서 레이아웃 또는 버튼, 에디트텍스트 등의 위젯을 롱클릭하면 나타남 Windows의 팝업창과 비슷 컨텍스트 메뉴 설정 순서
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[2/8] 컨텍스트 메뉴 XML 파일 컨텍스트 메뉴가 나오게 할 위젯마다 별도의 파일로 만들어야 함 메뉴 XML 문법은 옵션 메뉴와 동일 onCreateContextMenu( ) 메소드에는 위젯별로 컨텍스트 메뉴가 나타나야 하므로, 위젯별 컨텍스트 메뉴를 if문으로 등록
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[3/8] 안드로이드 프로젝트 생성 프로젝트 이름 : Project7_2 패키지 이름 : com.cookandroid.project7_2
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[4/8] 화면 디자인 및 편집 레이아웃의 id는 baseLayout으로 함 버튼 2개 생성, 버튼의 id는 button1, button2로 함
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[5/8] 화면 디자인 및 편집 menu1.xml은 배경색 변경과 관련된 3개의 항목 생성 menu2.xml은 버튼과 관련된 2개의 항목 생성
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[6/8] Java 코드 작성 및 수정 activity_main.xml의 레이아웃과 버튼 2개에 대응할 전역변수 3개 메인 함수 onCreate( ) 안에서 위젯 변수 3개에 위젯을 대입 2개의 버튼 위젯 변수를 registerForContextMenu( )에 등록
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[7/8] Java 코드 작성 및 수정 onContextItemSelected( )를 같은 방식으로 자동완성한 후 코딩 선택한 위젯에 따라 인플레이트하는 메뉴 XML 파일을 다르게 함
1. 메뉴 ▶ XML을 이용한 컨텍스트 메뉴[8/8]
2. 토스트[1/3] 토스트(Toast) 화면에 잠깐 나타났다 사라지는 메시지 프로그래머가 디버깅 용도로 사용하기에도 적당 setGravity( ) 메소드를 사용하면 위치를 변경할 수 있음
2. 토스트[2/3] 토스트 예제
2. 토스트[3/3] 토스트 Java 코드
3. 대화상자 ▶ 기본 대화상자[1/5] 대화상자(Dialog) 사용자에게 중요한 사항을 알려준 후, 어떤 선택을 하게 하는 것이 목적
3. 대화상자 ▶ 기본 대화상자[2/5] 대화상자 예제
3. 대화상자 ▶ 기본 대화상자[3/5] 대화상자 Java 코드(버튼 없음)
3. 대화상자 ▶ 기본 대화상자[4/5] 대화상자 Java 코드(버튼 1개)
3. 대화상자 ▶ 기본 대화상자[5/5] 버튼 클릭 시 동작하는 대화상자 Java 코드 setPositiveButton(“문자열”, 리스너)의 리스너가 null이라 아무 동작도 안하므로 해당 부분 수정
3. 대화상자 ▶ 목록 대화상자[1/13] 목록 대화상자 예제
3. 대화상자 ▶ 목록 대화상자[2/13] 라디오버튼 목록 대화상자 Java 코드 setItems( ) 대신 setSingleChoiceItems( ) 사용하면 라디오버튼 형태로 출력
3. 대화상자 ▶ 목록 대화상자[3/13] 체크박스 목록 대화상자 Java 코드 여러 개를 동시에 선택하려면 setMultiChoiceItems( )를 사용
3. 대화상자 ▶ 목록 대화상자[4/13] 안드로이드 프로젝트 생성 프로젝트 이름 : Project7_3 패키지 이름 : com.cookandroid.project7_3
3. 대화상자 ▶ 목록 대화상자[5/13] 화면 디자인 및 편집 텍스트뷰 2개와 버튼 1개를 생성, 위젯의 id는 tvName, tvEmail, button1로 함
3. 대화상자 ▶ 목록 대화상자[6/13] 대화상자에서 사용할 레이아웃 XML 파일 생성
3. 대화상자 ▶ 목록 대화상자[7/13] 대화상자용 dialog1.xml 파일을 코딩 텍스트뷰, 에디트텍스트, 텍스트뷰, 에디트텍스트의 순서로 생성 에디트텍스트만 위젯 id를 dlgEdt1, dlgEdt2로 지정
3. 대화상자 ▶ 목록 대화상자[8/13] toast1.xml 파일을 생성하고 코딩 이미지뷰, 텍스트뷰, 이미지뷰의 순서로 생성 텍스트뷰의 id를 toastText1로 지정 레이아웃의 배경을 빨간색으로 지정
3. 대화상자 ▶ 목록 대화상자[9/13] Java 코드 작성 및 수정 activity_main.xml의 텍스트뷰 2개, 버튼 1개에 대응할 전역변수 3개 dialog1.xml의 에디트텍스트에 대응할 전역변수 2개 toast1.xml의 텍스트뷰 1개에 대응할 전역변수 1개 dialog1.xml과 toast1.xml을 인플레이 트할 뷰 변수 2개 메인 함수 onCreate( ) 안에서 activity_ main.xml의 위젯 변수 3개에 위젯 대입
3. 대화상자 ▶ 목록 대화상자[10/13] button1 변수를 클릭했을 때 리스너를 작성 onClick( ) 메소드 안에 대화상자를 만들고 <확인>과 <취소>를 추가 <확인>, <취소> 버튼 클릭 시 실행할 내용은 일단 null로 입력
3. 대화상자 ▶ 목록 대화상자[11/13] 대화상자의 <확인>을 클릭하면 대화상자에서 입력한 사용자 이름과 이메일이 메인 화 면(activity_main.xml)의 텍스트뷰에 쓰이도록 코딩
3. 대화상자 ▶ 목록 대화상자[12/13] 대화상자의 <취소>를 클릭했을 때 toast1.xml이 토스트 메시지로 나오도록 설정
3. 대화상자 ▶ 목록 대화상자[13/13]