본문 바로가기

프로그래밍/Android

[Android] RelativeLayout

반응형



객체와 객체간의 관계를 이용한 레이아웃을 말한다.


https://developer.android.com/reference/android/widget/RelativeLayout.html


보통 true , false를 이용하여 정의하거나

특정 객체의 아이디를 기준으로 좌,우, 상,하에 배치할지를 결정하는 방식이다



=====================================================



출처 : http://lsit81.tistory.com/entry/Android-RelativeLayout-%EB%B0%B0%EC%B9%98-%EA%B4%80%EB%A0%A8



안드로이드로 레이아웃(Layout)을 작성할 때 보통은 LinearLayout을 많이 사용합니다.
제일 간편하니깐요. 

하지만, 단순히 일렬로 나열하는게 아니라 자식들간에 서로 겹치기도 하고, 정렬 또는 배치 등을
조금 규칙적으로 하기 위해서는 FrameLayout이나 RelativeLayout을 이용하기도 합니다.

RelativeLayout에서 부모와 자식간, 그리고 기준과의 배치에 대해서 알아보겠습니다.





부모와 자식간의 관계는 위의 그림과 같습니다.
예를 들어 부모 안에서 자식 View를 가운데 배치하고 싶으면 다음과 같이 작성하면 됩니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:keepScreenOn="true" >

<ImageView

android:layout_centerInParent="true"

android:layout_width="wrap_content"

android:layout_height="match_parent"/>


</RelativeLayout>



그리고 RelativeLayout을 사용할 때 부모안의 다른 자식 뷰를 기준으로 상대적인 위치를 적용할 수도 있습니다.
예를 들어 A라는 뷰가 이미 자리잡고 있다면, 이번에 새로 배치할 B라는 뷰는 'A의 바로 왼쪽, 또는 오른쪽에 배치하라'고

지정할 수 있는거죠. 그 배치 방법은 아래와 같습니다.





사실 RelativeLayout이 할 수 있는 일들은 FrameLayout 등을 통해서도 똑같이 구현할 수 있지만, 

아무래도 미리 만들어놓은 템플렛 레이아웃을 사용하는 것이 훨씬 더 편리하긴 하죠. ^^;



반응형

'프로그래밍 > Android' 카테고리의 다른 글

[Android] res를 이용한 Layout 요소 변경(색상, 이미지)  (0) 2016.07.13
[Android] AbsoluteLayout  (0) 2016.07.13
[Android] TableLayout  (0) 2016.07.12