05. 레이아웃 익히기 제목.

Slides:



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

Page  1 Copyright© Hanbit Media, Inc. All rights reserved. IT CookBook, 안드로이드 프로그래밍 본 강의교안은 수업상황을 도입 - 전개 - 마무리로 구분하여 수업의 각 단계에서 필요한 요소 중 강의교안으로.
Application Create Android Side. Application 설계 시 꼭 지켜야 할 5 가지 UI 쓰레드는 UI 만 처리하게 하자 사용자를 방해하지 말라. 다양한 화면 해상도를 지원하라 –Absolutelayout 을 사용하지 말아라 ( 고정값 )
제 2 강 프로젝트 구성과 View 안드로이드 앱 개발 강좌. 목 차목 차목 차목 차 목 차목 차목 차목 차 안드로이드 프로젝트 구성 2 에뮬레이터 사용법 3 버전과 screen size 4 5 Hello World 앱 작성하기 1 View 와 ViewGroup.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
2014 년 3 학년 1 학기 월요일 분반 (001,005) 인공지능연구실.  Activity  View  View Group - Layout.
Android Android-UI (DMI) Kang GiHoon. DMI--Kang Gihoon Android UI.
Couple Tetris 제안서 맨땅에해딩 (GNU-A3) 06 안대웅, 06 박순응. CONTENTS 1. 프로젝트 정의 및 목적 2. 프로젝트 결과물의 개요 2.1. 프로젝트 결과물의 구조도 2.2. 프로젝트 결과물의 흐름도 2.3. 프로젝트 결과물의 그림 2.4.
Android Activity & View & Layout
Bizbill 무료전자세금계산서 사용자 메뉴얼.
기본위젯과 레이아웃 둘째 마당 - Chapter 01 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
CHAP 10. 액티비티와 인텐트.
Android 개발환경 설정 및 Android View 소개
04. 기본 위젯 익히기 제목. 04. 기본 위젯 익히기 제목 뷰와 뷰 상속을 이해한다. 기본 위젯을 다루는 방법을 익힌다. 안드로이드 앱의 기본적인 프로그래밍을 숙달한다.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
Android Activity & Layout & View
Puzzle 1 To 50 관심분야연구회 박찬수 장진호 최효진.
04. 기본 위젯 익히기 제목.
Java Seminar 6.
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
소프트웨어 공학 Project - 어플리케이션 만들기 ( CS App. )
발표 날짜 팀명 I조 (회사 : 코나아이) 팀원 이름 김택현, 김효중, 김휘연
UNIT 07 그림책 만들기 1/2 로봇 SW 콘텐츠 연구원 조용수.
08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
안드로이드 개요 2005년 휴대폰 소프트웨어 개발사인 Android를 구글이 인수 2007년 11월 오픈소스로 공개
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
CRIME PREVENTION NECKLACE
12. 데이터 저장과 관리 제목. 12. 데이터 저장과 관리 제목 데이터베이스의 기본 개념을 배운다. SQLite의 사용법을 배운다. SQLite를 이용해 앱을 개발한다. SQLite GUI 툴 사용법을 익힌다.
가속도 감지센서를 이용한 안드로이드 게임 지도교수님 : 전진우 이동훈.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
Android를 이용한 Snake Game
Android Activity & View & Layout
08. 파일 처리 제목. 08. 파일 처리 제목 파일을 처리하는 방식을 익힌다. SD카드의 파일을 처리하는 방식을 배운다. 커스텀뷰의 작성법을 알아본다.
Edus 충남 통합인증을 위한 교과부 표준보안 모듈 설치 안내 (smart.edus.or.kr)
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해 본다.
안드로이드 테트리스에 필요한 최소 기능.
UNIT 05 신문 만들기 로봇 SW 콘텐츠 연구원 조용수.
02. 처음으로 만드는 안드로이드 애플리케이션 제목.
Android Studio 설치하기 PPD JSY.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
CHAP. 2 안드로이드 개발 도구 설치.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
글사랑 캡션 편집 안드로이드 앱 담당 교수님 전진우 교수님 진세훈 정상기 글사랑.
I F A A A B E A H A A A D C A G A A A B B B B A A A A B A B B B
Project apk 디컴파일과 난독화(with Proguard)
보상사업 제안서 반룡일반산업단지 사업시행자 성창아이엔디㈜ 대표 정연교님 귀하 주 식 회 사 한 국 보 상 원.
Achro-5250, IMX6 안드로이드 어플리케이션.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
소지품 관리 프로그램 HawkEye.
가계부 자동작성 APP Ucloud를 이용한 카드 내역 자동 작성 정보통신공학과 김대웅
11.어댑터 뷰 제목. 11.어댑터 뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
나는 땅에서 키는 작지만 하늘로부터 재는 키는 이 세상 어느 누구보다도 크다
CHAP 5. 레이아웃.
(안드로이드 어플리케이션) 전 자 공 학 과(야) 김동혁 최수미 신신희
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
중등교원 전보시스템 로그인 오류시 해결 해결방안 * 작성일 2016 년 12 월 15일 * 작성자 광주광역시교육청.
김덕용 게임 엔진론 Project 최종발표.
상가개폐업조사용 앱 사용설명서 - android기준 - 소상공인진흥원 2013년 하반기 조사.
위젯과 레이아웃.
CHAP. 2 안드로이드 개발 도구 설치.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
과목명: IT 표준 (표준화강좌) 교재: - 스마트 시대와 표준, KSA 한국표준협회, 2016
컴퓨터 소프트웨어 설계 및 실험 2016년 1학기 실험계획.
박 현 미 울산여자상업고등학교 창업포스터 만들며 포토샵과 친해지기 박 현 미 울산여자상업고등학교.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해본다.
Presentation transcript:

05. 레이아웃 익히기 제목

레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해 본다.

01 레이아웃 개요 02 리니어레이아웃 03 기타 레이아웃

1. 레이아웃 개요▶ 레이아웃 기본 개념 레이아웃 계층도 레이아웃은 레이아웃 자체를 보이기 보다는, 레이아웃 안에 존재하는 위젯을 배치하기 위한 용도가 더 주요한 목적. 레이아웃 중에서 가장 많이 사용되는 것은 리니어레이아웃.

1. 레이아웃 개요▶ 레이아웃 기본 개념 레이아웃의 대표적인 속성 orientation : 레이아웃 안에 배치될 위젯의 수직 또는 수평방향을 설정 gravity : 레이아웃 안에 배치될 위젯을 좌측, 우측, 중앙 등 정렬할 방향을 설정 padding : 레이아웃 안에 배치될 위젯의 여백을 설정 layout_weight : 레이아웃이 전체 화면에서 차지하는 공간의 가중 값을 설정하는데, 여러 개의 레이아웃이 중복될 때 주로 사용 baselineAligned : 레이아웃 안에 배치할 위젯들을 보기 좋게 정렬한다

1. 레이아웃 개요▶ 레이아웃의 종류 레이아웃의 기본 형태 절대 좌표값으로 지정하는 앱슬루트레이아웃(AbsoluteLayout)도 있었으나, 해상도가 다른 안드로이드폰에서는 문제가 발생되어 사용 안함

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 orientation 속성과 예제 vertical은 수직 배열

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 horizontal은 수평배열

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 gravity 속성 - 속성은 레이아웃 안의 위젯들의 배치를 결정 예제

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 layout_gravity 속성 - 자신의 위치를 부모(주로 레이아웃)의 어디쯤에 위치할 것인지를 결정 예제

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 [직접 풀어보기 5-1] 리니어레이아웃으로 다음 화면을 구성하는 XML을 작성하라. 리니어레이아웃의 orientation은 vertical로 한다. 버튼 3개를 생성하고, 버튼의 layout_width는 110dp로, layout_height는 100dp로 한다. hint : 버튼에 gravity와 layout_gravity를 모두 설정해야 한다.

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 baselineAligned 속성 크기가 다른 위젯들의 정렬을 보기 좋게 설정 디폴트 값은 "true“ 예제

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 중복 리니어레이아웃 기본 형태

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 layout_weight 속성 리니어레이아웃을 여러 개 사용하면, 각 레이아웃의 크기를 지정 대개 각 레이아웃을 전체 화면에서 몇 %로 지정하는 것이 일반적 예제 1 - 오류

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 예제 2(오류 수정) - layout_height를 wrap_content로 변경

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 예제 3 - layout_weight를 1로 지정

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 [직접 풀어보기 5-2] 리니어레이아웃으로 다음 화면을 구성하는 XML을 작성하라. 단, 레이아웃은 구분되어 보이도록 서로 다른 색으로 지정한다. hint : 레이아웃 안에 다시 레이아웃을 여러 번 중첩해도 된다.

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기 XML과 Java 코드 동작 방식

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기 [실습5-1] XML 없이 화면 코딩하기 (1/3) 버튼을 클릭하면 Toast 메시지가 출력되는 화면을 XML 파일이 없이 Java에서 코딩 프로젝트 정보 프로젝트 이름 : Project5_1 패키지 이름 : com.cookandroid.project5_1 빌드 SDK : Goolge API 15 또는 16 Minimum Required SDK : API 15 또는 16 액티비티이름 : Project5_1Activity 레이아웃 이름 : activity_main  추후 삭제 타이틀 : Project5_1

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기 [실습5-1] XML 없이 화면 코딩하기 (2/3) Java 코딩 1 - 리니어레이아웃을 생성하는 코드를 작성하고 실행

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기 [실습5-1] XML 없이 화면 코딩하기 (3/3) Java 코딩 2 - 버튼을 만들고 버튼을 클릭했을 때, Toast 메시지를 나타냄 onCreate() 메소드 안에 이어서 코딩.

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기 [직접 풀어보기 5-3] 다음 화면을 XML파일 없이 Java코드만 이용하여 완성하라. 레이아웃에는 에디트텍스트 1개와 버튼 1개, 텍스트뷰 1개를 생성한다. 버튼을 클릭하면 에디트텍스트에 써진 문자열이 텍스트뷰에 나타나도록 한다.

3. 기타 레이아웃▶ 렐러티브레이아웃 개념 렐러티브레이아웃(RelativeLayout)은 상대레이아웃이라고도 부르는데, 이름처럼 레이아웃 내부에 포함된 위젯들을 상대적인 위치로 배치 렐러티브레이아웃의 상하좌우에 배치

3. 기타 레이아웃▶ 렐러티브레이아웃 예제 1

3. 기타 레이아웃▶ 렐러티브레이아웃 다른 위젯의 상대위치에 배치 각 속성의 값은 다른 위젯의 id를 지정하면 되는데, “@+id/기준위젯_아이디” 형식으로 사용 아래 그림을 간략하게 표현하기 위해서 나타난 속성 이름에서 앞의 "layout_"은 생략하였음

3. 기타 레이아웃▶ 렐러티브레이아웃 예제 2

3. 기타 레이아웃▶ 렐러티브레이아웃 예제 3

3. 기타 레이아웃 [직접 풀어보기 5-4] 다음 화면의 XML 코드를 중복 리니어레이아웃과 렐러티브레이아웃으로 각각 작성하라. 텍스트뷰 1개, 에디트텍스트 1개, 버튼 2개로 구성한다.

3. 기타 레이아웃▶ 테이블레이아웃 개요 표 형태로 위젯을 배치할 때 주로 사용 <TableRow>와 함께 사용되는데, <TableRow>의 개수가 바로 행의 개수가 됨. 열의 개수는 <TableRow>안에 포함된 위젯의 개수가 열의 개수로 결정됨. 3행 4열의 테이블레이아웃은 다음과 같음

3. 기타 레이아웃▶ 테이블레이아웃 속성 layout_span은 열을 합쳐서 표시하라는 의미 layout_column은 지정된 열에 현재 위젯을 표시하라는 의미 stretchColumns는 <TableLayout> 자체에 설정하는 속성으로 지정된 열의 폭을 늘리라는 의미. stretchColumns=“*”로 하면 각 셀을 모두 같은 크기로 확장해서 전체 화면이 꽉 차는 효과를 갖음 참고로 열번호는 0번부터 시작함

3. 기타 레이아웃▶ 테이블레이아웃 예제

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(1/10) <실습 4-1>에서 초간단 계산기를 만들었다. 이번에는 테이블레이아웃을 활용하여 숫자 버튼까지있는 계산기를 만들어보자. 비슷한 형태의 버튼이 여러 개 나오는데, Java 코드로 버튼을 배열로 처리하는 기법도 함께 익혀보겠다. 프로젝트 정보 프로젝트 이름 : Project5_2 패키지 이름 : com.cookandroid.project5_2 빌드 SDK : Goolge API 15 또는 16 Minimum Required SDK : API 15 또는 16 액티비티이름 : Project5_2Activity 레이아웃 이름 : activity_main 타이틀 : Project5_2

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(2/10) 화면 디자인 (1/4) TableLayout 1개와 TableRow 9개로 구성 EditText 2개, 숫자버튼 10개, 연산 Button 4개, TextView 1개를 생성 각 연산 버튼 위젯에는 layout_margin을 적절히 지정 결과를 보여줄 TextView는 색상을 빨간색으로, 글자크기는 20dp 정도로 지정 각 위젯의 id는 위에서부터 Edit1, Edit2, BtnNum0~9, BtnAdd, BtnSub, BtnMul, BtnDiv, TextResult로 지정

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(3/10) 화면 디자인 (2/4)

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(4/10) 화면 디자인 (3/4)

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(5/10) 화면 디자인 (4/4)

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(6/10) Java 코딩 1 : 전역변수 선언 숫자 버튼을 제외한 main.xml의 7개 위젯에 대응할 위젯 변수 7개 입력될 2개 문자열을 저장할 문자열 변수 2개 계산 결과를 저장할 정수 변수 1개 10개 숫자버튼을 저장할 버튼 배열 10개 버튼의 id를 저장할 정수형 배열 증가 값으로 사용할 정수변수

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(7/10) Java 코딩 2-1 숫자 버튼이 없다고 가정하고, 연산 버튼을 터치했을 때의 내용을 코딩

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(8/10) Java 코딩 2-2

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(9/10) Java 코딩 3-1 10개 숫자 버튼을 배열 변수에 대입한 후에, 각 버튼의 클릭이벤트 리스너 생성

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 앱(10/10) Java 코딩 3-2

3. 기타 레이아웃▶ 그리드레이아웃 개요 테이블레이아웃에서는 좀 어려웠던 행을 확장하는 기능도 간단하게 할 수 있어서 유연한 화면 구성에 적합 행, 열을 지정하는 것은 상당히 직관적 Android 4.0 (아이스크림 샌드위치, API 14)부터 지원.

3. 기타 레이아웃▶ 그리드레이아웃 속성 <GridLayout> 자체에 자주 사용되는 속성 rowCount : 행 개수 columnCount : 열 개수 orientation : 수평방향/수직방향 중 어디를 우선할 것인지를 결정 그리드레이아웃 안에 포함될 위젯에서 사용되는 속성 layout_row : 자신이 위치할 행 번호 (0번부터 카운트) layout_column : 자신이 위치할 열 번호 (0번부터 카운트) layout_rowSpan : 지정된 개수만큼 행을 확장 layout_columnSpan : 지정된 개수만큼 열을 확장 layout_gravity : 위젯을 확장된 셀에 꽉 채우는 효과

3. 기타 레이아웃▶ 그리드레이아웃 예제

3. 기타 레이아웃▶ 그리드레이아웃 [직접 풀어보기 5-5] <실습 5-2>를 그리드레이아웃으로 변경해서 실행하라. hint : Java 코드는 변경할 필요가 없고, XML만 변경하면 된다. 또 XML 위젯의 id도 동일하게 사용한다.

3. 기타 레이아웃▶ 프레임레이아웃 개요 단순히 레이아웃 내의 위젯들은 왼쪽 상단부터 겹쳐서 출력함 프레임레이아웃 그 자체를 사용하기 보다는 탭 위젯 등과 혼용해서 사용할 때 유용함

3. 기타 레이아웃▶ 프레임레이아웃 속성 - foreground : 프레임레이아웃의 전경이미지를 지정 foregroundGravity : 전경이미지의 위치를 지정 예제

테이블레이아웃은 표 형태로 위젯을 배치할 때 사용되는데, 행의 개수는 <TableRow>로 결정된다 레이아웃 종류 리니어레이아웃(LinearLayout), 렐러티브레이아웃(RelativeLayout), 프레임레이아웃(FrameLayout), 테이블레이아웃(TableLayout), 그리드레이아웃(GridLayout) 레이아웃 주요 속성 orientation, gravity, padding, layout_weight, baselineAligned 테이블레이아웃은 표 형태로 위젯을 배치할 때 사용되는데, 행의 개수는 <TableRow>로 결정된다 그리드레이아웃은 테이블레이아웃보다 좀 더 직관적으로 구성할 수 있으며, 행 단위의 확장도 가능해서 다양한 형태의 표를 구성할 수 있다. 프레임레이아웃은 레이아웃 안의 위젯들을 좌측상단에 겹쳐서 출력한다