1.AbsoluteLayout
의미상으로 RelativeLayout의 반대 속성을 가지는 레이아웃이다. 관계나 순서상에 상관없이 지정한 절대 좌표에 차일드 뷰를 배치한다.
차일드 뷰의 좌표를 layout_x, layout_y 속성으로 지정해 놓으면 부모의 좌상단을 기준으로 한 좌표에 뷰가 배치된다.
장비의 해상도나 방향이 수시로 바뀔 수 있는 모바일 환경에서는 유연하지 못하고 관리하기도 어렵다. 그래서 공식 문서에는 AbsoluteLayout을 사용하지 말라고 되어 있으며 제공되지 않는 레이아웃이라고 생각해도 무방하다.
<AbsoluteLayout>
<TextView android:layout_x="50px" android:layout_y="100px" android:text="(50, 100)" />
<TextView android:layout_y="200px" android:layout_y="70px" android:text="(200, 70)" />
</AbsoluteLayout>
2.FrameLayout
형태상으로 모든 레이아웃중에 가장 단순하다. 차일드를 배치하는 규칙이 따로 없고 모든 차일드는 프레임의 좌상단에 나타난다. 차일드가 두 개 이상일 때는 추가된 순서대로 겹쳐서 표시된다.
Visibility를 사용하여 이미지 출력을 조정한다.
3. TableLayout
표 형식으로 차일드를 배치하는 레이아웃이다.
테이블은 임의 개수의 TableRow 객체로 구성되며 TableRow 객체 하나가 곧 행이다. TableRow 안에는 임의 개수의 열이 배치되는데 행 안의 열 하나를 셀이라고 부르며 셀에는 차일드 뷰 하나가 들어간다. TableRow 개수가 곧 가로 행의 개수이며 TableRow 안에 배치되는 뷰의 개수가 곧 세로 열의 개수가 되고 테이블의 전체 크기는 행*열이 된다.
TableRow 객체의 높이는 항상 wrap_content로 강제된다.
셀에 배치되는 자식 뷰는 무조건 주어진 셀 안에 배치되므로 layout_width 속성은 따로 지정할 수 없으며 항상 fill_parent로 가정된다.
차일드 뷰의 높이는 디폴트로 wrap_content로 되어 있지만 원한다면 셀 안을 가득 채울 수는 있다.
'Android' 카테고리의 다른 글
안드로이드 페인트 (Paint) (0) | 2012.07.27 |
---|---|
안드로이드 캔버스 (Canvas) (0) | 2012.07.27 |
안드로이드 렐러티브 (Realtive Layout) (0) | 2012.07.27 |
안드로이드 리니어 레이아웃(LinearLayout) (0) | 2012.07.27 |
안드로이드 Button(버튼) (0) | 2012.07.27 |