CHAP 7. 메뉴와 대화상자.

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

Application Create Android Side. Application 설계 시 꼭 지켜야 할 5 가지 UI 쓰레드는 UI 만 처리하게 하자 사용자를 방해하지 말라. 다양한 화면 해상도를 지원하라 –Absolutelayout 을 사용하지 말아라 ( 고정값 )
For Android 이재원.  페이스북 SDK 설치  2 가지 예제 & 소스  API 사용 예제 프로젝트 만들기  Graph API  참고사항 & 사이트.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Unlocking Android 안드로이드 패키지 (1/2) 2 Unlocking Android 안드로이드 패키지 (2/2) 3.
6 메 뉴.
어서와 Java는 처음이지! 제3장선택과 반복.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
CHAP 8. 그래픽.
CHAP 18. 멀티미디어.
CHAP 10. 액티비티와 인텐트.
CHAP 10. 액티비티와 인텐트.
Android Programming 고급위젯
액션바와 네비게이션
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
CHAP 19. 구글맵.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
CHAP 7. 메뉴와 대화상자.
Contents 학습목표 Canvas와 Paint 객체를 통해 화면에 원하는 도형을 그리고 속성을 변경하는 기본적인 방법에 대해 소개한다. 토스트로 메시지를 출력하는 방법과 스피커를 통해 소리를 출력하는 방법에 대해서도 알아본다. 학습내용 캔버스 그리기 객체 쉐이더 그외.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
Java Seminar 6.
PUzzleAlarm 컴퓨터 응용과학부 최범모.
CHAP 4. 이벤트 처리.
CHAP 6. 이벤트 처리.
모바일 서버 만들기 13장 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03
UNIT 07 그림책 만들기 1/2 로봇 SW 콘텐츠 연구원 조용수.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
[INA470] Java Programming Youn-Hee Han
어댑터뷰 리스트 뷰, 그리드 뷰, 스피너, 갤러리 등을 묶어 어댑터 뷰라 부름
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
자바 5.0 프로그래밍.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
CHAP 11. 액티비티와 인텐트.
AOP 개념 및 Spring의 AOP 기능.
명품 Java Programming.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
DataScience Lab. 박사과정 김희찬 (월)
CHAP 8. 그래픽.
주소록 프로그램.
CHAP 6. 이벤트 처리.
CHAP 14. 데이터베이스와 환경 설정.
CHAP 13. 네트워크.
CHAP 12. 리소스와 보안.
[ 포털 사이트 연관검색어/자동완성 등록 서비스 ]
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
' Strategic Alliance Partner with '
CHAP 3. 첫번째 애플리케이션.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
CHAP 13. 서비스와 방송 수신자.
Chap. 14 성능향상시키기 PS Lab. 이지연.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
안드로이드 서비스.
자바 5.0 프로그래밍.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
CHAP 5. 레이아웃.
Chap. 8 자바 가상 머신의 클래스 로더 사용 PS Lab. 이지연.
6장 클래스(상속).
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
자바 프로그래밍 Thread를 이용한 애니메이션 서울호서전문학교 게임프로그램개발과.
CHAP 11. 리소스와 보안.
CHAP 5. 메뉴와 대화상자.
분류 기준에 따라 내용을 정리하여 소개하는 글 쓰기
Choi Younghwan CSE HUFS
Presentation transcript:

CHAP 7. 메뉴와 대화상자

안드로이드의 사용자 인터페이스 내비게이션바 액션바 제스처

메뉴의 종류 옵션 메뉴: 액션바에 표시된다. 컨텍스트 메뉴: 사용자가 화면의 요소를 길게 누르 면 나타나는 메뉴이다. 팝업메뉴

메뉴를 생성하는 방법 코드로 메뉴 생성하기 XML로 메뉴 생성하기

메뉴를 XML로 정의 리소스 식별자 아이콘 이미지 메뉴 타이틀

메뉴 팽창 메뉴 리소스를 팽창(inflate)하면 실제 메뉴가 생성

메뉴 리소스 팽창 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mymenu, menu); return true; }

옵션 메뉴 현재 액티비티와 관련된 동작 2.3이상 2.3이하

옵션 메뉴 클릭 이벤트 처리

예제: 옵션 메뉴 생성 메뉴를 나타내는 XML 파일 생성

옵션 메뉴 생성 사용자가 옵션 키를 누르면 다음의 메소드가 호출된 다.

옵션 메뉴 이벤트 처리

실행 결과

코드로 옵션 메뉴 생성하기 #1

코드로 옵션 메뉴 생성하기 #2

컨텍스트 메뉴 UI의 특정 항목과 관련된 동작

컨텍스트 메뉴 종류 플로팅 컨텍스트 메뉴: 컨텍스트 액션 모드: 사용자가 항목 위에서 오래 누르기(long click)를 하면 메뉴가 대화 상자처럼 떠서 표시된다. 컨텍스트 액션 모드: 현재 선택된 항목에 관련된 메뉴가 액션바에 표시된다. 여러 항목을 선택하여 특정한 액션을 한꺼번에 적용할 수 있다.

컨텍스트 메뉴 사용자가 항목 위에서 “오래 누르기”(long-press)를 하면 컨텍스트 메뉴가 표시 PC에서 마우스 오른쪽 버튼을 눌렀을 때 나오는 메 뉴와 개념적으로 유사

컨텍스트 메뉴 예제 사용자 인터페이스 작성 <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Only I can change my life. No one can do it for me." android:textSize="50px" android:typeface="serif" /> </LinearLayout>

컨텍스트 메뉴 예제 ... public class ContextMenuActivity extends Activity {         TextView text;         @Override         public void onCreate(BundlesavedInstanceState) {              super.onCreate(savedInstanceState);              setContentView(R.layout.main);              text = (TextView) findViewById(R.id.TextView01);               registerForContextMenu(text);         }

컨텍스트 메뉴 컨텍스트 메뉴는 다음과 같은 메소드가 호출되면서 생성된다. @Override 컨텍스트 메뉴는 다음과 같은 메소드가 호출되면서 생성된다. @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("컨텍스트 메뉴"); menu.add(0, 1, 0, "배경색: RED"); menu.add(0, 2, 0, "배경색: GREEN"); menu.add(0, 3, 0, "배경색: BLUE"); }

컨텍스트 메뉴 이벤트 처리 public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: text.setBackgroundColor(Color.RED); return true; case 2: text.setBackgroundColor(Color.GREEN); case 3: text.setBackgroundColor(Color.BLUE); default: return super.onContextItemSelected(item); }

실행 결과

액션바 애플리케이션의 로고 표시 탭이나 드롭다운 리스트를 이용하여서 내비게이션 메뉴와 뷰 전환 기능을 제공한다. 탭이나 드롭다운 리스트를 이용하여서 내비게이션 메뉴와 뷰 전환 기능을 제공한다. 액션 오버플로우 액션버튼 앱아이콘 뷰컨트롤

액션바 예제 Menu xml에서 <menu xmlns:app=“ … “ 추가 <item app:showAsAction=“ “ 으로 변경 /res/drawable 폴더에 다음과 같은 아이콘을 복사

XML 파일

실행 결과

대화 상자 대화 상자(dialog)는 사용자에게 메시지를 출력하고 사용자로부터 입력을 받아들이는 아주 보편적인 사 용자 인터페이스

대화 상자의 종류 AlertDialog DatePickerDialog TimePickerDialog

대화 상자 생성, 표시, 제거 메카니즘 public class DialogTestActivity extends Activity { ... protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_PAUSED_ID: return new AlertDialog.Builder(AlertDialogTest.this).create(); } return null; showDialog(DIALOG_PAUSED_ID); ... dismissDialog(DIALOG_PAUSED_ID);

AlertDialog

AlertDialog

목록을 사용하는 대화상자 public class AlertDialogTest03 extends Activity { protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_YES_NO_MESSAGE: final CharSequence[] items ={ "Red", "Green", "Blue" }; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("색상을 선택하시오"); builder.setItems(items, new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int item) { Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();}} ); AlertDialog alert = builder.create(); return alert; } return null; ...

라디오 버튼을 사용하는 대화상자 public class AlertDialogTest03 extends Activity { 라디오 버튼을 사용하는 대화상자 public class AlertDialogTest03 extends Activity { protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_YES_NO_MESSAGE: final CharSequence[] items ={ "Red", "Green", "Blue" }; AlertDialog.Builder builder = new AlertDialog.Builder(this) builder.setTitle("색상을 선택하시오") builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show(); } }); AlertDialog alert = builder.create(); return alert; return null; ...

DatePickerDialog 날짜와 시간을 입력받는 대화 상자

DatePickerDialog

DatePickerDialog

커스텀 대화 상자 사용자가 마음대로 대화 상자의 내용을 디자인할 수 있는 대화 상자

예제: 로그인 대화 상자

대화 상자를 XML로 정의

코드

실행 결과

알림 기능 알림기능(notification)은 어떤 이벤트가 발생하였을 때, 앱이 사용자에게 전달하는 메시지이다.

예제: 버튼을 누르면 알림을 보내는 앱

코드

실행 결과

Lab: 예약 앱 작성 식당 예약 앱

사용자 인터페이스 #1

사용자 인터페이스 #2