[next] android 개발 경험 프로젝트 1일차 (widget, linear layout)
Post on 20-Oct-2014
2.066 views
DESCRIPTION
Written by 양지웅 Reviewed, Designed by 손영수TRANSCRIPT
뷰(View)
위젯 등 화면을 구성하는 요소인 객체들을 자식으로
갖는다.
자세한 내용은 아래 링크 참조 http://croute.me/391 http://powerhan.tistory.com/107
콘솔 창에 출력할 수 없는 안드로이드 환경에서 개발자 임의대로 로그를 출력하고 그러한 로그를 잡아 보
여주는 기능
자바스크립트의 console.log와 유사
로그캣(Log, Logcat)
http://developer.android.com/reference/android/util/Log.html
로그캣
출력할 메시지 태그 로그 종류
• Log.e() - 오류 기록
• Log.w() - 경고 기록
• Log.i() - 메시지 기록
• Log.d() - 디버그 기록
• Log.v() - 상세 메시지 기록
토스트(Toast)
토스트를 표시할 시간
Toast.LENGTH_SHORT Toast.LENGTH_LONG
토스트로 띄워줄 텍스트
(문자열 리소스,
문자열 모두 가능)
Context(= OS의…)
주로 클래스명.this로 씀
토스트를 화면에 띄워주기!
각각의 기본 구성요소 (크기) - 샘플
Width가“match_parent(= fill_parent)” 일 때
Width가 “wrap_content” 일 때
현재 뷰의 최대 크기로 자동 조절 내용(문자열 ‘button’)을 감싸게 함.
부모 뷰의 최대 크기로 자동 조절
각각의 기본 구성요소 (크기) - Xml
“wrap_content” => 현재 뷰의 최대 크기로 자동 조절 (내용을 감싸게) “match_parent” => 부모 뷰까지의 최대 크기로 자동 조절 (=“fill_parent”, 같은 기능이지만 API 8 이후부터 지원되는 match_parent를 사용하는 것이 권장사항임.)
각각의 기본 구성요소 (치수) - 비교
해상도 : 1280 x 800
해상도 : 480 x 800
아이콘, 이미지 등 원하는 컨텐츠가 해상도에 따라서 가변적인 크기를 가질 수 있어야 함.
각각의 기본 구성요소 (치수)
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension http://javacan.tistory.com/233
자세한 내용은 아래 링크 참조
• 수치 단위 정의 • DPI, DIP(DP) 개념 http://www.kmshack.kr/282
• px (Pixel, 픽셀) • 화면 위의 하나의 점을 나타내는 단위, 안드로이드에서는 픽셀 대신
DIP를 사용한다 • dpi (Dots Per Inch) • 1인치(2.54cm)에 들어 있는 픽셀(Pixel, PX)의 수(밀도)이다. • dp, dip (Device Independent Pixel) • 어떠한 해상도에서도 독립적인 크기를 나타낼 수 있도록 하는 단위이다. • 1dp는 160-DPI 화면에서 픽셀 하나에 해당하는 값이다.
마진 O, 패딩 X 마진 O, 패딩 O 마진 X, 패딩 O
각각의 기본 구성요소 (여백) - 샘플
마진(margin)의 영역 설정은 녹색 영역(실제로는 투명)의 크기 변화를, 패딩(padding)의 영역 설정은 백색 영역(투명)의 크기 변화를 가져온다.
Button
paddingBottom
marginRight
Layout
각각의 기본 구성요소 (여백) - Xml
android:layout_margin marginLeft marginRight marginTop marginBottom
android:_padding paddingLeft paddingRight paddingTop paddingBottom
layout_없음!
패딩 마진
LinearLayout
Vertical Horizontal
. . .
새로 컨텐츠가 추가될 때마다 아래 방향으로 늘어섬
새로 컨텐츠가 추가될 때마다 오른쪽 방향으로 늘어섬
. . .
Orientation
LinearLayout
android:orientation=“horizontal” or “vertical“ 뷰들을 수직으로(vertical) 배치하느냐, 수평으로(horizontal) 배치하느냐를 속성으로 줌.
Orientation
LinearLayout
android:layout_weight= “1”, “2”, Etc… 뷰들간의 배치 비율을 정해주는 것으로, 서로의 비율을 바탕으로 레이아웃이 그려지게 됨.
1 : 2
weight
LinearLayout weight
화면의 크기가 충분히 크면 상관이 없으나..
Width - wrap_content Height - match_parent Weight - 1 7개의 컨텐츠를 위와 같이 설정함.
화면의 크기가 컨텐츠가 모두 들어가지 못할 정도로 작을 경우… (Width, Height, Weight는 앞과 동일)
wrap_content를 먼저 적용한 후, weight값으로 조정되기 때문에
컨텐츠 크기에 따라 레이아웃이 제멋대로 구성됨.
따라서, 고정해줄 값(Height)은 match_parent로 두고, Weight값을 적용해줄 값(Width)은0(dp)으로 설정하여 Width를 설정한 Weight 값대로 적용할 수 있게 해준다.
Width : 0dp Height : match_parent Weight : 1
LinearLayout weight
LinearLayout
컨텐츠 끼리 Weight을 통해 비율을 결정할 수 있음.
Weight 값을 주려는 수치(Width or Height)를 0(dp)로 처리해줘야 Weight이 제대로 작동함.
weight
LinearLayout
android:gravity="center“, “top”, “bottom”, Etc… 뷰 내부의 개체들을 어떻게 배치(정렬)할 것인지를 정함. ( 바(|, bar)를 가지고 2개로 플래그를 지정하는 것도 가능함)
gravity
사용할 색들의 코드표
RED – #FF0000 ( = #F00) ORANGE – #FFA500 YELLOW – #FFFF00 ( = #FF0) GREEN – #00FF00 ( = #0F0) BLUE – #0000FF ( = #00F) INDIGO – #4B0082 VIOLET – #EE82EE Etc BLACK – #000000 ( = #000)
– #FFFFFF ( = #FFF)