728x90
RelativeLayout 상대적인 레이아웃
무언가(특정한 위젯)에 의지를 하는 레이아웃
<?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:textSize="20sp"
android:textColor="#ffffff"
android:text="hessepark 에그타르트 먹고싶다."/>
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="개강 실화냐"/>
</RelativeLayout>
그냥 이렇게 쓰면 RelativeLayout은 글씨가 겹쳐서 제대로 안 보인다.

android:layout_below="@id/tv_1"
android:layout_toRightOf="@id/tv_1"
이런 식으로 밑, 오른쪽으로 위치 지정이 가능하다.
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
이런 식으로 부모 기준으로 상대적 배치 가능
정 중앙에 배치하고 싶으면
android:layout_centerInParent="true"
만 쓰면 된다.
위에서 볼 수 있는 것과 같이
RelativeLayout에서는 항목들의 배치 순서가 바뀌어도 상관없다.
참고
layout_centerInParent는 부모의 중간
layout_centerHorizontal은 가로의 중간
layout_centerVertical은 세로의 중간
+layout_alignParent___이랑 헷갈릴 수 있다.
예제 코드
<?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:textSize="20sp"
android:textColor="#18FFFF"
android:text="hessepark 에그타르트 먹고싶다."/>
<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_above="@+id/tv_2"
android:layout_centerInParent="true"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#18FFFF"
android:text="하이"/>
<TextView
android:id="@+id/tv_4"
android:layout_width="wrap_content"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#18FFFF"
android:text="덥다"/>
<TextView
android:id="@+id/tv_5"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#18FFFF"
android:text="덥다"/>
</RelativeLayout>
결과

728x90
'[Android Studio] (Java)' 카테고리의 다른 글
| [Android Studio] ConstraintLayout (0) | 2023.09.01 |
|---|---|
| [Android Studio] 네트워크 상태 체크 (broadcastReciver) (0) | 2023.09.01 |
| [Android Studio] LinearLayout(리니어 레이아웃) (0) | 2023.09.01 |
| [Android Studio] Selector (1) | 2023.09.01 |
| [Android Studio] StartActivityForResult (0) | 2023.09.01 |