728x90

Relative가 상대적이라는 뜻을 가지고있음

, 레이아웃 내의 자식(Children) 뷰 위젯들이 서로 간의 상대적(Relative) 위치 관계에 따라 최종적으로 표시될 영역을 결정하도록 만드는 레이아웃을, RelativeLayout(렐러티브 레이아웃) 이라고 합니다.

 

 

무언가에 의지를 하면서 특정위젯에 의지를 하며 레이아웃 배치를 하는것

android:layout_below="id~~"  id 를기준으로 밑에 배치하겠다

android:layout_toRightOf="@+id/tv_1" id를 기준으로 오른쪽에 배치하겠다

android:layout_alignParentBottom="true" 부모기준으로 배치

android:layout_centerInParent="true" 가운데배치

gravity안쓰고, align이나  centerInparent속성을 사용함.

linearlayout과 다르게 스택이 쌓이는 것이아니라서 자유롭게 코딩해도됨, 배치순서를 바꾸더라도 똑같이 동작함.

 

RelativeLayout에서 사용 가능한 속성의 종류.

RelativeLayout의 자식(Children) 뷰 위젯에 사용할 수 있는 속성은 아래와 같은 것들이 있습니다. 각 속성의 이름을 클릭하면, 속성에 대한 자세한 설명을 확인할 수 있습니다.

속성설명

layout_toLeftOf 뷰(View)를 기준 뷰(Anchor View)의 왼쪽(Left)에 배치.
layout_above 뷰(View)를 기준 뷰(Anchor View)의 위(Above)에 배치.
layout_toRightOf 뷰(View)를 기준 뷰(Anchor View)의 오른쪽(Right)에 배치.
layout_below 뷰(View)를 기준 뷰(Anchor View)의 아래(Below)에 배치.
layout_toStartOf 뷰(View)를 기준 뷰(Anchor View)의 시작(Start)에 배치.
layout_toEndOf 뷰(View)를 기준 뷰(Anchor View)의 끝(End)에 배치.
layout_alignParentLeft 뷰(View)를 부모(Parent) 영역 내에서 왼쪽(Left)에 배치.
layout_alignParentTop 뷰(View)를 부모(Parent) 영역 내에서 위쪽(Top)에 배치.
layout_alignParentRight 뷰(View)를 부모(Parent) 영역 내에서 오른쪽(Right)에 배치.
layout_alignParentBottom 뷰(View)를 부모(Parent) 영역 내에서 아래쪽(Bottom)에 배치.
layout_centerHorizontal 뷰(View)를 부모(Parent) 영역의 가로 방향 가운데 배치.
layout_centerVertical 뷰(View)를 부모(Parent) 영역의 세로 방향 가운데 배치.
layout_centerInParent 뷰(View)를 부모(Parent) 영역의 정 중앙(center)에 배치.
layout_alignParentStart 뷰(View)를 부모(Parent) 영역의 시작 지점(Start)에 배치.
layout_alignParentEnd 뷰(View)를 부모(Parent) 영역의 끝 지점(End)에 배치.
layout_alignLeft 뷰(View)의 왼쪽(Left)을 기준 뷰(View)의 왼쪽(Left)에 맞춤.
layout_alignTop 뷰(View)의 위(Top)를 기준 뷰(View)의 위(Top)에 맞춤.
layout_alignRight 뷰(View)의 오른쪽(Right)를 기준 뷰(View)의 오른쪽(Right)에 맞춤.
layout_alignBottom 뷰(View)의 아래(Bottom)를 기준 뷰(View)의 아래(Bottom)에 맞춤.
layout_alignBaseline 뷰(View)의 폰트 기준선(Baseline)을 기준 뷰(View)의 폰트 기준선(Baseline)에 맞춤.

https://recipes4dev.tistory.com/126

 

안드로이드 렐러티브레이아웃. (Android RelativeLayout)

1. 안드로이드 RelativeLayout 클래스. [안드로이드 리니어레이아웃. (Android LinearLayout)]에서 설명한 LinearLayout 을 사용하여 UI 레이아웃을 구성하다보면, 원하는 배치 구조를 만들기가 쉽지 않은 경우

recipes4dev.tistory.com

 

예시

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

    <TextView
        android:id="@+id/tv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="지구가 멸망하려나봐..이상기후"
        android:textSize="30sp"
        android:textColor="#0091EA"
        />

    <TextView
        android:id="@+id/tv_2"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="지구를 지키자"/>

    <TextView
        android:id="@+id/tv_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="지구야 힘내!"
        android:textSize="30sp"
        android:textColor="#0091EA"
        />

    <TextView
        android:id="@+id/tv_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="지구 화이팅!"
        android:textSize="30sp"
        android:textColor="#0091EA"
        />


</RelativeLayout>

 

 

 

728x90
리촬리