Relative Layout
1. Relative Layout란?
'XX의 위에', '@@의 오른쪽에' 등의 이웃 View를 기준으로 위치를 배정하기 때문에
이러한 위치 선정은 절대적인 위치가 아닌 '상대적인' 위치로 View가 자리 잡도록 한다.
RelativeLayout의 선언은 다음과 같다. 선언 방법은 LinearLayout과 동일하다.
|
2. Relative Layout의 특징
RelativeLayout에 포함되는 하위 View들은 몇가지 추가 속성들을 부여받는데 그 중 몇 가지를 소개하겠다.
1. 상대적인 위치를 지정하지 않으면 자식 View들은 무조건 맨 좌측 상단에 자리잡는다.
2. layout_alignParent 계열 속성은 자식 View가 부모 레이아웃(RelativeLayout) 내부에서 어디에 자리잡아야 하는지 지정한다.
android:layout_alignParentTop="true" |
레이아웃의 가장 위에 |
android:layout_alignParentBottom="true" |
레이아웃의 가장 아래에 |
android:layout_alignParentLeft="true" |
레이아웃의 가장 왼쪽에 |
android:layout_alignParentRight="true" |
레이아웃의 가장 오른쪽에 |
android:layout_alignParentStart="true" |
레이아웃의 가장 시작점에 (기본적으로 왼쪽) |
android:layout_alignParentEnd="true" |
레이아웃의 가장 위에 (기본적으로 오른쪽) |
3. layout_center 계열 속성은 자식 View가 수직(Vertical) 혹은 수평(Horizontal) 중심부로 위치시킬 지 지정한다.
android:layout_centerHorizontal="true" |
수평 방향으로 한 가운데 |
android:layout_centerVertical="true" |
수직 방향으로 한 가운데 |
android:layout_centerInParent="true" | 레이아웃의 한 가운데 |
3. 특정 View를 기준으로 지정한다. (이때 기준이 될 View는 반드시 id가 있어야 한다. )
android:layout_above="@id/기준id" |
이 뷰의 아래를 기준 뷰의 위에 맞춤 |
android:layout_below="@id/기준id" |
이 뷰의 위를 기준 뷰의 아래에 맞춤 |
android:layout_toLeftOf ="@id/기준id" |
이 뷰의 오른쪽을 기준 뷰의 왼쪽에 맞춤 |
android:layout_toRightOf="@id/기준id" |
이 뷰의 왼쪽을 기준 뷰의 오른쪽에 맞춤 |
4. 특정 View를 기준으로 대상을 정렬(align)한다.
android:layout_alignTop="@id/기준id" |
이 뷰의 상단을 기준 View의 상단에 맞춘다. |
android:layout_alignBottom="@id/기준id" |
이 뷰의 하단을 기준 View의 하단에 맞춘다. |
android:layout_alignBaseline="@id/기준id" |
이 뷰의 텍스트 밑줄을 기준 View의 텍스트 밑줄에 맞춘다. |
android:layout_alignLeft="@id/기준id" |
이 뷰의 왼쪽을 기준 View의 왼쪽에 맞춘다. |
android:layout_alignRight="@id/기준id" |
이 뷰의 오른쪽을 기준 View의 오른쪽에 맞춘다. |