AbsoluteLayout은 의미상으로 RelativeLayout의 반대 속성을 가지는 레이아웃이다.
관계나 순서에 상관없이 지정한 절대 좌표에 차일드 뷰를 배치한다.
차일드 뷰의 좌표를 layout_x, layout_y의 속성으로 지정하면 부모의 좌측 상단을 기준으로 한 좌표에 뷰가 배치된다.
다음 예제를 보자.
- <?xml version="1.0" encoding="utf-8"?>
- <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- >
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="75dp"
- android:layout_y="94dp"
- android:text="75dp, 94dp"
- android:textAppearance="?android:attr/textAppearanceLarge" />
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="37dp"
- android:layout_y="173dp"
- android:text="37dp, 173dp"
- android:textAppearance="?android:attr/textAppearanceLarge" />
- <TextView
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="157dp"
- android:layout_y="82dp"
- android:text="157dp, 82dp"
- android:textAppearance="?android:attr/textAppearanceLarge" />
- <TextView
- android:id="@+id/textView4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_x="212dp"
- android:layout_y="431dp"
- android:text="212dp, 431dp"
- android:textAppearance="?android:attr/textAppearanceMedium" />
- </AbsoluteLayout>
텍스트 뷰의 값은 layout_x, layout_y의 값이다.
특별한 제약없이 임의의 위치에 뷰를 배치할 수 있어 자유도가 높은편이다.
그러나 안드로이드 기기의 해상도가 천차만별이라 유연하지 못하고 관리하기도 어렵다.
해상도가 달라지면 화면배치의 좌표도 달라지기 때문에 관리하기가 매우 어렵다.
그래서 공식 문서에는 AbsoluteLayout을 아예 사용하지 말라고 되어 있다.
'DEVELOPMENT > ANDROID' 카테고리의 다른 글
[android] 이벤트처리 - onTouchEvent (0) | 2014.03.12 |
---|---|
[android] FrameLayout (0) | 2014.03.12 |
[android] RelativeLayout (상대 레이아웃) (0) | 2014.03.12 |
[android] LinearLayout (0) | 2014.03.12 |
[android] 그래픽 레이아웃 문제 (1) | 2014.03.09 |