본문 바로가기
▶개발/Android

[Android] 안드로이드 레이아웃:Relative Layout

by 브라더 준 2018. 10. 7.

안드로이드 정리노트 #6 안드로이드 레이아웃

(Android Layout:Relative Layout)


@Relative Layout

- 다른 뷰나 부모 컨테이너간의 상대적인 위치를 통해 뷰들을 배치하는 layout

- <예시>

- 4개의 버튼을 담은 레이아웃을 만든다. 각각의 버튼은 부모 컨테이너의 상대적인 관계를 이용하여 배치했다.

- 또한, 다른 버튼의 상대적인 위치를 이용해 버튼의 위치를 배치한 버튼도 있다.




- <xml코드>

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1번버튼"
android:layout_below="@id/button3"/>

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="2번버튼" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="3번버튼"/>

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="4번버튼"/>

</RelativeLayout>

- 첫 번째 버튼의 경우, layout_below의 속성값을 세 번째 버튼으로 줌으로써, 세 번째 버튼의 아래(below)에 위치하게 된다. 위에 배치하고 싶은 경우 below대신에 above를 사용하면 된다.

- 세 번째 버튼의 경우, 부모 컨테이너와의 관계에서 Right를 true를 줌으로써, 부모 컨테이너 우측에 붙게 된다. 

- 두 번째 버튼의 경우, 부모 컨테이너와의 관계에서 center를 true를 줌으로써, 부모 컨테이너 중앙에 위치하게 된다. 다른 속성으로는 centerInVertical(수직방향 중앙에 붙음), centerInHorizontal(수평방향 중앙에 붙음)이 있다.

- 네 번째 버튼의 경우, centerHorizontal를 줌으로써, 수평방향의 중앙에 버튼이 위치하게 된다.

- 위와 같이 부모컨테이너와의 관계 혹은 다른 뷰들의 상대적인 관계등을 이용하여 배치하는 레이아웃이 RelativeLayout이다.

반응형