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

Slides:



Advertisements
Similar presentations
Page  1 Copyright© Hanbit Media, Inc. All rights reserved. IT CookBook, 안드로이드 프로그래밍 본 강의교안은 수업상황을 도입 - 전개 - 마무리로 구분하여 수업의 각 단계에서 필요한 요소 중 강의교안으로.
Advertisements

IT CookBook, Android Studio 를 활용한 안드로이드 프로그래밍 Copyright© 2015 Hanbit Academy, Inc. All rights reserved. 14. 서비스와 브로드캐스트 리시버.
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
406 문서에 표를 작성하고 크기를 조절할 수 있다. 표에 서식을 적용하여 다양하게 표현할 수 있다. 표를 편집하여 다양한 형태로 나타낼 수 있다. 학습목표 5 부. HTML 의 기본 4 장. 표를 이용한 문서작성 - 17 주 차시 : 1/3 ∼ 3/3 배당시간 : 18.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
기본위젯과 레이아웃 둘째 마당 - Chapter 01 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
한국기술교육대학교 아두이노 기반 펌웨어 개발 (기본과정) 5일차 강사: 김영준 목원대학교 겸임교수.
04. 기본 위젯 익히기 제목. 04. 기본 위젯 익히기 제목 뷰와 뷰 상속을 이해한다. 기본 위젯을 다루는 방법을 익힌다. 안드로이드 앱의 기본적인 프로그래밍을 숙달한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Power Java 제3장 이클립스 사용하기.
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
14. 서비스와 브로드캐스트 리시버 제목. 14. 서비스와 브로드캐스트 리시버 제목.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
Communication and Information Systems Lab. 황재철
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Power Java 제14장 배치 관리자.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
11장. 1차원 배열.
3강_HTML 기본-II 리스트 태그 - ul,li,ol 표를 나타내는 태그 - table 이미지를 출력하는 태그 – img
CHAP 12. 리소스와 보안.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
프로그래밍 개요
인터넷응용프로그래밍 JavaScript(Intro).
10장 tkinter로 GUI 만들기.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAP 5. 레이아웃.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
10. 액티비티와 인텐트 제목. 10. 액티비티와 인텐트 제목 액티비티의 개념을 파악한다. 인텐트의 개념과 활용법을 익힌다. 액티비티 생명주기에 대해 알아본다.
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
11.어댑터 뷰 제목. 11.어댑터 뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
CHAP 21. 전화, SMS, 주소록.
화상대화 매뉴얼 한국지역정보개발원.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
05. 레이아웃 익히기 제목.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
메뉴(Menu) 컴퓨터응용 및 실습 I.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
12 그리드 시스템.
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Power Java 제14장 배치 관리자.
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해본다.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
BoardGame 보드게임 따라가기.
Ch 4. 선택 위젯의 사용과 커스텀뷰 만들기 Assignment #1 04 – 1, 2) 08학번 정보과학과 유재윤
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

05. 레이아웃 익히기 제목

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

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

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

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

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태 orientation 속성과 예제 vertical은 수직 배열, 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 - 오류 리니어레이아웃을 여러 개 사용하면, 각 레이아웃의 크기를 지정 대개 각 레이아웃을 전체 화면에서 몇 %로 지정하는 것이 일반적 예제 1 - 오류

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태 예제 2(오류)와 예제 3(정상)

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 레이아웃 이름 : 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>안에 포함된 위젯의 개수가 열의 개수로 결정된다. 행 4열의 테이블레이아웃은 다음과 같다.

3. 기타 레이아웃▶ 테이블레이아웃 속성 layout_span은 열을 합쳐서 표시하라는 의미 layout_column은 지정된 열에 현재 위젯을 표시하라는 의미 stretchColumns는 <TableLayout> 자체에 설정하는 속성으로 지정된 열의 폭을 늘리라는 의미

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 (1/6) <실습 4-1>의 초간단 계산기를 좀 더 개선시켜서, 테이블레이아웃을 활용하여 숫자버튼까지 있는 계산기를 만들자. 프로젝트 정보 프로젝트 이름 : Project5_2 패키지 이름 : com.cookandroid.project5_2 빌드 SDK : Goolge API 15 또는 16 Minimum Required SDK : API 15 또는 16 액티비티이름 : Project5_2Activity 레이아웃 이름 : main 타이틀 : Project5_2

3. 기타 레이아웃▶ 테이블레이아웃 [실습5-2] 테이블레이아웃을 활용한 계산기 (2/6) 화면 디자인 (1/2) 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/6) 화면 디자인 (2/2)

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

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

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

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>로 결정된다 그리드레이아웃은 테이블레이아웃보다 좀 더 직관적으로 구성할 수 있으며, 행 단위의 확장도 가능해서 다양한 형태의 표를 구성할 수 있다. 프레임레이아웃은 레이아웃 안의 위젯들을 좌측상단에 겹쳐서 출력한다