세라쌤의 IT 튜토리얼

Relative Layout 본문

Android

Relative Layout

issell 2019. 3. 15. 02:58

1. Relative Layout란?

Relative란 '상대적인'이라는 의미를 갖고 있다. LinearLayout 만으로는 애매한 화면에 많이 적용된다.


'XX의 위에', '@@의 오른쪽에' 등의 이웃 View를 기준으로 위치를 배정하기 때문에 

이러한 위치 선정은 절대적인 위치가 아닌 '상대적인' 위치로 View가 자리 잡도록 한다.


RelativeLayout의 선언은 다음과 같다. 선언 방법은 LinearLayout과 동일하다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">




</RelativeLayout>



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의 오른쪽에 맞춘다.






'Android' 카테고리의 다른 글

Widgets  (0) 2019.03.17
Frame Layout  (0) 2019.03.17
LinearLayout  (0) 2019.03.14
안드로이드의 레이아웃(ViewGroup)과 뷰(View) (2)  (0) 2019.03.14
안드로이드의 레이아웃(ViewGroup)과 뷰(View) (1)  (0) 2019.03.14
Comments