Android Studio

[Android] Layout의 종류

혁준 2021. 8. 1. 00:35

-Linear Layout

orientation을 통해 수평(horizental), 수직(vertical)으로 layout의 방향을 지정할 수 있다. 

gravity : 자신의 view 내부에서 특정 위치로 배치

layout_gravity : 부모 위젯 layout에서 특정 위치로 배치.

weight : layout 내에서 차지하는 부분 지정한다. 이를 통해 비율(가중치)에 맞춰 view를 배치할 수 있다.

android:orientation="vertical" // 수직
android:orientation="horizontal" // 수평방향

android:gravity="center"
android:layout_gravity="bottom"

 

 

-Relative Layout

layout 및 view 간의 상대적인 관계를 통해 위치를 결정한다. 

android:layout_toRightOf=""	//대상의 우측에 위치
android:layout_toLeftOf=""	//대상의 좌측에 위치
android:layout_above=""		//대상의 상단에 위치
android:layout_below=""		//대상의 하단에 위치

//부모 기준으로 정렬 가능
android:layout_alignParentRight 
android:layout_alignParentTop

//중앙 배치
android:layout_centerVertical 
android:layout_centerHorizontal

 

 

-Frame Layout

여러 view가 중첩되어 있는 형태이다. 액자식 구조라고 표현한다면 이해가 쉬울 것이다. 

 

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:layout_width="500dp"
        android:layout_height="500dp"
        android:background="#3F51B5"/>

    <View
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:background="#FF5722"/>

    <View
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:background="#8BC34A"/>

</FrameLayout>

 

 

[그림1] 위의 코드를 활용하여 만든 Frame Layout. View가 중첩되어 있는 것을 확인할 수 있다.

 

-Table Layout

표처럼 layout 배열을 지정.

 

 

-Drawer Layout

서랍처럼 layout 배열 지정.

 

 

-Constraint Layout

이전 글 참조!