본문 바로가기
앱 비지니스/안드로이드 스튜디오

[안드로이드 앱 만들기 기초] RelativeLayout(렐러티브 레이아웃) 사용법, 속성

by 3C Retsam 2021. 2. 1.

RelativeLayout 사용법과 속성

레이아웃(Layout)의 종류 중 하나인 RelativeLayout에 대해 더 자세히 알아 보겠습니다.

 

RelativeLayout(렐러티브 레이아웃)

Relative(상대적인)Lauout은 기준의 위치에 따라 상대적으로 위치를 지정 할 수 있습니다.
기준은 뷰가 될 수도 있고 렐러티브레이아웃(부모, parent) 자체가 될 수도 있습니다.

속성
1. 뷰로 설정
layout_toRightOf="@" @뷰의 오른쪽
layout_toLeftOf="@" @뷰의 왼쪽
layout_aboveOf="@" @뷰의
layout_belowOf="@" @뷰의 밑
layout_toStartOf="@" @뷰의 시작부분
layout_toEndOf="@" @뷰의 끝부분
layout_alignRight="@" @뷰의 오른쪽으로 정렬 
layout_alignLeft="@" @뷰의 왼쪽으로 정렬
layout_alignTop="@" @뷰의 위쪽으로 정렬
layout_alignBottom="@" @뷰의의 아랫쪽으로 정렬
layout_alignBaseline="@" @뷰의 기본라인으로 정렬

2. true/false값으로 설정
layout_alignParentRight=
"true" 부모의 오른쪽
layout_alignParentLeft="true" 부모의 왼쪽
layout_alignParentTop="true" 부모의 위쪽
layout_alignParentBottom="true" 부모의 아랫쪽
layout_centerInParent="true" 부모의 가운데
layout_centerHorizontal="true" 부모의 수평 가운데
layout_centerVertical="true" 부모의 수직 가운데
layout_alignParentStart="true" 부모의 시작지점
layout_alignParentEnd="true" 부모의 끝지점

 

리니어레이아웃 보다 뷰를 유동적으로 배치 할 수 있는 렐러티브레이아웃

<?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">
    <TextView
        android:id="@+id/A"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:text="A"
        android:textSize="50dp"
        android:gravity="center"
        android:layout_centerInParent="true"
        android:background="#ff9966"
        />
    <TextView
        android:id="@+id/B"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:text="B"
        android:textSize="50dp"
        android:gravity="center"
        android:layout_below="@id/A"
        android:background="#66ffcc"
        android:layout_toRightOf="@id/A" />
    <TextView
        android:id="@+id/C"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:text="C"
        android:textSize="50dp"
        android:gravity="center"
        android:layout_below="@id/B"
        android:layout_toLeftOf="@id/B"
        android:background="#99ff00"
        />
    <TextView
        android:id="@+id/D"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:text="D"
        android:textSize="50dp"
        android:gravity="center"
        android:layout_toLeftOf="@id/C"
        android:layout_below="@id/C"
        android:background="#cc00ff"
        />
</RelativeLayout>

A속성 layout_centerInParent="true" (부모{렐러티브레이아웃}의 가운데)
B속성 layout_below="@id/A" , layout_toRightOf="@id/A" (A의 밑,오른쪽)
C속성 layout_below="@id/B" , layout_toLeftOf="@id/B" (B의 밑, 왼쪽)
D속성 layout_below="@id/C" , layout_toLeftOf="@id/C" (C의 밑, 왼쪽)

속성들을 직접 사용해 보시면 어떻게 작동하는지 더 이해하기 쉽습니다.

 

더 자세한 설명은 개발자 페이지에서 확인 할 수 있습니다.

상대적 레이아웃  |  Android 개발자  |  Android Developers

 

상대적 레이아웃  |  Android 개발자  |  Android Developers

RelativeLayout은 상대 위치에 하위 뷰를 표시하는 뷰 그룹입니다. 각 뷰의 위치는 동위 요소(예: 다른 뷰의 왼쪽 또는 아래)에 상대적이거나 상위 RelativeLayout에 상대적인 위치로 지정될 수 있습니다.

developer.android.com

 

레이아웃 속성모음 보러 가기
[안드로이드 앱 만들기 기초] Layout(레이아웃) 속성, 사용법 모음 (tistory.com)

 

[안드로이드 앱 만들기 기초] Layout(레이아웃) 속성, 사용법 모음

앞서 얘기한 레이아웃들의 속성을 모아 놓았습니다. 프로그램 제작 시 필요할때 꺼내 보는식으로 보면 좋을듯 합니다. 1. LinearLayout (리니어 레이아웃) 속성 orientation - horizontal, vertical 나열 방향

codenet.tistory.com

 

댓글