본문 바로가기

안드로이드

RelativeLayout -layout_alignParentBottom, layout_toRightOf, layout_below + 단점.

147p

 

LinearLayout랑 다르게 RelativeLayout은 oriental 속성이 없다!

 

 

align하고 적으면 자동완성으로 나온다

부모와 관계

android:layout_alignParentBottom="true"

 

 

to, below, above하고 적으면 자동완성으로 나온다

형제끼리에 관계

android:layout_toRightOf="@id/btn1"      @id/btn1의 오른쪽에 두기

android:layout_toLeftOf="@id/btn1"        @id/btn1의 왼쪽에 두기

android:layout_below="@id/btn1"

android:layout_above="@id/btn2"

 

 

 

 

<?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">


    <Button
        android:id="@+id/btn1"
        android:layout_alignParentTop="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Top Menu1" />
    <Button
        android:id="@+id/btn4"
        android:layout_toRightOf="@id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Top Menu2" />
    <Button
        android:id="@+id/btn3"
        android:layout_below="@id/btn1"
        android:layout_above="@id/btn2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Button" />
    <Button
        android:id="@+id/btn2"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Buttom Menu" />

</RelativeLayout>

 

 

 

 아래와 같이 어슷하게 배치하고 싶을 때 margin을 줍니다.

android:layout_marginLeft="10dp"

android:layout_marginTop="20dp"

 

 

<?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">

    <RelativeLayout
        android:id="@+id/top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Top Menu1" />

        <Button
            android:id="@+id/btn4"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="20dp"
            android:layout_toRightOf="@id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Top Menu2" />

    </RelativeLayout>

    <Button
        android:id="@+id/btn3"
        android:layout_below="@id/top"
        android:layout_above="@id/btn2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Button" />

    <Button
        android:id="@+id/btn2"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Bottom Menu" />

</RelativeLayout>

 

 

단점

Relative의 단점

뎁스안에 뎁스 넣으면 느려요

이 html을 java코드로 컴파일해야하는데 느려져요.

뎁스3개 이상 하지말라고 합니다.