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. 서비스와 브로드캐스트 리시버.
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
스마트 KTC 사용자 매뉴얼 스마트폰용 모바일학생증 앱 설치 및 기본기능. 강원관광대 스마트 KTC 앱 설치 강원관광대학교 모바일학생증 앱 ( 이하 ‘ 스마트 KTC’ 로 명명 ) 은 안드로이드폰은 Google Play Store, 아이폰 은 App Store 에서 무료로.
406 문서에 표를 작성하고 크기를 조절할 수 있다. 표에 서식을 적용하여 다양하게 표현할 수 있다. 표를 편집하여 다양한 형태로 나타낼 수 있다. 학습목표 5 부. HTML 의 기본 4 장. 표를 이용한 문서작성 - 17 주 차시 : 1/3 ∼ 3/3 배당시간 : 18.
한국기술교육대학교 아두이노 기반 펌웨어 개발 (기본과정) 5일차 강사: 김영준 목원대학교 겸임교수.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
04. 기본 위젯 익히기 제목. 04. 기본 위젯 익히기 제목 뷰와 뷰 상속을 이해한다. 기본 위젯을 다루는 방법을 익힌다. 안드로이드 앱의 기본적인 프로그래밍을 숙달한다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Power Java 제3장 이클립스 사용하기.
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
14. 서비스와 브로드캐스트 리시버 제목. 14. 서비스와 브로드캐스트 리시버 제목.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
1. C++ 시작하기.
전광판 어플 크레파스통 도상미 박아란 이민영.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Javascript Basic Sample Programs
05. 레이아웃 익히기 제목. 05. 레이아웃 익히기 제목 레이아웃의 개념을 익힌다. 화면을 다양한 레이아웃으로 구성한다. Java 코드만으로 화면을 작성해 본다.
Silverlight - Panel 비트 18기 최용호.
Power Java 제14장 배치 관리자.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
6장. printf와 scanf 함수에 대한 고찰
UNIT 05 신문 만들기 로봇 SW 콘텐츠 연구원 조용수.
Chapter 07. 기본 함수 익히기.
11장. 1차원 배열.
CHAP 12. 리소스와 보안.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
10장 tkinter로 GUI 만들기.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
CHAP 5. 레이아웃.
상품설명 페이지 디자인.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
1차시: 낮과 밤이 생기는 원리 지구과학
10. 액티비티와 인텐트 제목. 10. 액티비티와 인텐트 제목 액티비티의 개념을 파악한다. 인텐트의 개념과 활용법을 익힌다. 액티비티 생명주기에 대해 알아본다.
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
11.어댑터 뷰 제목. 11.어댑터 뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
객체기반 SW설계 팀활동지 4.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
05. 레이아웃 익히기 제목.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
메뉴(Menu) 컴퓨터응용 및 실습 I.
Chapter 10 데이터 검색1.
12 그리드 시스템.
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Power Java 제14장 배치 관리자.
어서와 C언어는 처음이지 제21장.
7 생성자 함수.
6 객체.
Chapter 11. 문서 인쇄 및 파일 형식.
BoardGame 보드게임 따라가기.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

05. 레이아웃 익히기 제목

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

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

1. 레이아웃 개요 ▶ 레이아웃 기본 개념[1/2] 레이아웃 ViewGroup 클래스로부터 상속받으며 내부에 무엇을 담는 용도로 사용 레이아웃 중에서 가장 많이 사용되는 것은 리니어레이아웃(LinearLayout)

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

1. 레이아웃 개요 ▶ 레이아웃의 종류 레이아웃의 종류 리니어레이아웃 : 왼쪽 위부터 아래쪽 또는 오른쪽으로 차례로 배치 렐러티브레이아웃 : 위젯 자신이 속한 레이아웃의 상하좌우의 위치를 지정하여 배치 테이블레이아웃 : 위젯을 행과 열의 개수를 지정한 테이블 형태로 배열 그리드레이아웃 : 테이블레이아웃과 비슷하지만, 행 또는 열을 확장하여 다양하게 배치할 때 더 편리 프레임레이아웃 : 위젯들을 왼쪽 위에 일률적으로 겹쳐서 배치하여 중복해서 보이는 효과를 냄

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[1/7] orientation 속성 리니어레이아웃의 가장 기본적인 속성 Vertical : 리니어레이아웃 안에 포함될 위젯의 배치를 수직방향으로 쌓음 Horizontal : 수평 방향으로 쌓겠다는 의미

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[2/7] orientation 속성이 vertical 값인 XML 코드

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[3/7] orientation 속성이 horizontal 값인 XML 코드

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[4/7] gravity 속성 gravity 속성은 레이아웃 안의 위젯들을 어디에 배치할 것인지를 결정

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[5/7] layout_gravity 속성 layout_gravity는 자신의 위치를 부모의 어디쯤에 위치시킬지를 결정

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[6/7]

2. 리니어레이아웃 ▶ 기본 리니어레이아웃 형태[7/7] baselineAligned 속성 baselineAligned 속성은 크기가 다른 위젯들을 보기 좋게 정렬함 true와 false 값을 가질 수 있음

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태[1/5]

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태[2/5] layout_weight 속성 리니어레이아웃을 여러 개 사용할 경우 각 레이아웃의 크기를 지정할 때 사용

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태[3/5] layout_height를 wrap_content로 변경

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태[4/5] layout_weight를 1로 지정

2. 리니어레이아웃 ▶ 중복 리니어레이아웃 형태[5/5]

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

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기[2/5] 안드로이드 프로젝트 생성 프로젝트 이름 : Project5_1 패키지 이름 : com.cookandroid.project5_1 화면 디자인 및 편집 main.xml 삭제 Java 코드 작성 및 수정 main.xml 삭제했기 때문에 오류가 발생함 //를 붙여 주석으로 처리한 후 진행

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

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기[4/5] 버튼을 만들고, 버튼을 클릭했을 때 토스트 메시지를 작성 (onCreate( ) 안에 이어서 코딩)

2. 리니어레이아웃 ▶ Java 코드로 화면 만들기[5/5]

3. 기타 레이아웃 ▶ 렐러티브레이아웃[1/6] 렐러티브레이아웃(상대레이아웃) 렐러티브레이아웃의 상하좌우에 배치 렐러티브레이아웃은 레이아웃 내부에 포함된 위젯들을 상대적인 위치로 배치 렐러티브레이아웃의 상하좌우에 배치

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

3. 기타 레이아웃 ▶ 렐러티브레이아웃[3/6] 다른 위젯의 상대 위치에 배치 각 속성의 값은 다른 위젯의 id를 지정하면 됨 간략하게 표현하기 위해 속성 이름의 layout_은 생략

3. 기타 레이아웃 ▶ 렐러티브레이아웃[4/6] 렐러티브레이아웃 안에서 다른 위젯의 특정한 곳 배치 예제

3. 기타 레이아웃 ▶ 렐러티브레이아웃[5/6] 여러 위젯에서 상대 위치를 지정한 예제

3. 기타 레이아웃 ▶ 렐러티브레이아웃[6/6]

3. 기타 레이아웃 ▶ 테이블레이아웃[1/8] 테이블레이아웃(TableLayout) 주로 위젯을 표 형태로 배치할 때 사용 <TableRow>와 함께 사용되는데 <TableRow>의 개수가 바로 행의 개수가 됨 열의 개수는 <TableRow> 안에 포함된 위젯의 개수로 결정

3. 기타 레이아웃 ▶ 테이블레이아웃[2/8] 테이블레이아웃의 속성 layout_column : 지정된 열에 현재 위젯을 표시하라는 의미 stretchColumns : 지정된 열의 폭을 늘리라는 의미 stretchColumns =“*” : 각 셀을 같은 크기로 확장, 전체 화면이 꽉 차는 효과

3. 기타 레이아웃 ▶ 테이블레이아웃[3/8] 테이블레이아웃 예제

3. 기타 레이아웃 ▶ 테이블레이아웃[4/8] 테이블레이아웃을 활용하여 숫자 버튼까지 있는 계산기를 만들어보자. 안드로이드 프로젝트 생성 프로젝트 이름 : Project5_2 패키지 이름 : com.cookandroid.project5_2 화면 디자인 및 편집 TableLayout 1개와 TableRow 9개로 구성 에디트텍스트 2개, 숫자 버튼 10개, 연산 버튼 4개, 텍스트뷰 1개를 생성 연산 버튼 위젯에는 layout_margin을 적절히 지정 결과를 보여줄 TextView는 색상을 빨간색, 글자 크기는 20dp 각 위젯의 id는 위에서부터 Edit1, Edit2, BtnNum0~9, BtnAdd, BtnSub, BtnMul, BtnDiv, TextResult

3. 기타 레이아웃 ▶ 테이블레이아웃[5/8] 화면 디자인 및 편집

3. 기타 레이아웃 ▶ 테이블레이아웃[6/8] Java 코드 작성 및 수정 전역변수 선언 숫자 버튼을 제외한 activity_main.xml의 7개 위젯에 대응할 위젯변수 7개 입력될 2개 문자열 저장할 문자열 변수 2개 계산 결과를 저장할 정수 변수 1개 10개 숫자 버튼을 저장할 버튼 배열 10개 버튼의 id를 저장할 정수형 배열 증가 값으로 사용할 정수 변수

3. 기타 레이아웃 ▶ 테이블레이아웃[7/8] Java 코드 작성 및 수정 숫자 버튼이 없다고 가정하고 연산 버튼을 터치했을 때의 내용을 코딩

3. 기타 레이아웃 ▶ 테이블레이아웃[8/8] Java 코드 작성 및 수정 숫자 버튼 10개를 배열 변수에 대입한 후에 각 버튼의 클릭 이벤트 리스너를 만듦

3. 기타 레이아웃 ▶ 그리드레이아웃[1/4] 그리드레이아웃(GridLayout) 테이블레이아웃처럼 위젯을 표 형태로 배치할 때 사용하는데 좀 더 직관적임 Android 4.0(아이스크림 샌드위치, API 14)부터 지원

3. 기타 레이아웃 ▶ 그리드레이아웃[2/4] 그리드레이아웃 속성 <GridLayout> 자체에 자주 사용되는 속성 rowCount : 행 개수 columnCount : 열 개수 orientation : 그리드를 수평 방향을 우선할지, 수직 방향을 우선할지를 결정 그리드레이아웃 안에 포함될 위젯에서 자주 사용되는 속성 layout_row : 자신이 위치할 행 번호(0번부터 시작) layout_column : 자신이 위치할 열 번호(0번부터 시작) layout_rowSpan : 행을 지정된 개수만큼 확장 layout_columnSpan : 열을 지정된 개수만큼 확장 layout_gravity : 주로 fill, fill_vertical, fill_horizontal 등으로 지정 행 또는 열 확장시, 위젯을 확장된 셀에 꽉 채우는 효과를 냄

3. 기타 레이아웃 ▶ 그리드레이아웃[3/4] 그리드레이아웃 예제

3. 기타 레이아웃 ▶ 그리드레이아웃[4/4]

3. 기타 레이아웃 ▶ 프레임레이아웃[1/3] 프레임레이아웃(FrameLayout) 단순히 레이아웃 내의 위젯들은 왼쪽 상단부터 겹쳐서 출력 프레임레이아웃 자체로 사용하기보다는 탭 위젯 등과 혼용해서 사용할 때 유용

3. 기타 레이아웃 ▶ 프레임레이아웃[2/3] 프레임레이아웃의 속성 foreground : 프레임레이아웃의 전경 이미지를 지정 foregroundGravity : 전경 이미지의 위치를 지정

3. 기타 레이아웃 ▶ 프레임레이아웃[3/3] 프레임레이아웃 예제