Android Layout 종류, 크기 단위 및 생상 표현법

Android Layout 종류

LinearLayout

가로 또는 세로 방향 기준으로 뷰를 구성함

android:orientation="[vertical, horizontal]" // vertical : 세로 / horizontal : 가로

RelativeLayout

부모 컨테이너 기준으로 뷰를 구성함 (css의 float와 유사함)

FrameLayout

하나의 View만 보여줌(css 레이어 position:absolute 와 유사함. FrameLayout을 중첩으로 쌓아서 보여줄 수 있음)

TableLayout

HTML의 Table에 해당함

ScrollView

뷰 또는 뷰그룹을 포함하여 스크롤이 가능케 함(div overfloat:scroll)


색상표현법

#RGB

#RRGGBB

#ARGB (A : 알파, 투명도)

#AARRGGBB (A : 알파, 투명도)


크기단위

크기 설정 속성 

android:[layout_width, layout_height] = [match_parent, match_content, [n]dp, [n]px, [n]sp]] 

match_parent : 부모컨테이너와 동일


px : 픽셀(Pixel) 


dp(=dip) : Density Independent Pixel

해상도가 640X480이지만 어떤 디바이스는 16인치, 어떤 디바이스는 18인치인 것처럼

동일 해상도라도 안드로이드 디바이스는 화면 크기가 다르다.

이런 다양한 해상도와 디바이스 크기를 지원하기 위해 만들어진 단위

(px / dp 계산기)

160dip = 1인치당 160개의 점

dip = px * (160/density)

density 는 디바이스별 해상도 값

LDPI = 120 (저해상도)

MDPI = 160 (중해상도)

HDPI = 240 (고해상도)

참고 : http://javaexpert.tistory.com/310


sp(=sip) : Scale Independent Pixel

글꼴 크기를 지정할때 사용됨 (dp 와 유사한 개념임)

(안드로이드 단위 변환기)


아이디 부여 방법

android:id="@+id/아이디"

참고 : 탐색창 Project > Project Files > app > app > build > generated/source > r/debug > com/.../프로젝트명 > R.java

편집할 수 없으며, 뷰 등에서 지정된 아이디 목록을 담고 있다.