Study Record

[안드로이드] LinearLayout 살펴보기 본문

안드로이드

[안드로이드] LinearLayout 살펴보기

초코초코초코 2023. 6. 15. 15:21
728x90

😶 LinearLayout

LinearLayout 은 ViewGroup 에 속하며 세로 또는 가로 단일 방향으로 모든 하위 요소를 정렬한다.

 

 

 

필수적으로 android:orientation 속성이 필요하며 horizontal 이면 가로 방향으로, vertical 이면 세로 방향으로 하위 요소를 정렬할 수 있다.

 

 

😶 레이아웃 가중치

LinearLayout 의 하위 요소의 android:layout_weight 속성으로 개별 하위 요소에 가중치를 할당할 수 있다. LinearLayout 의 남은 모든 공간이 선언된 하위 요소의 가중치 비율에 따라 하위 요소의 크기가 할당된다. 기본 가중치는 0이다.

 

가중치를 이용하면 하위 요소의 모든 가중치를 1 로 설정하면 균등 분포가 가능하다. 또한, 가중치를 가지지 않는 하위 요소가 있다면 그 요소의 크기는 별도로 차지하며 남은 ViewGroup 공간에서 가중치를 갖는 하위 요소끼리 비율에 따라 공간을 나눠 갖는다.

 

orientation = horizontal 일 경우, 세로 방향의 레이아웃일 경우 높이의 크기를 할당받으므로 하위 요소의 android:layout_height 를 "0dp" 로 한다.  

 

orizentation = vertical 일 경우, 가로 방향의 레이아웃일 경우 너비의 크기를 할당받으므로 하위 요소의 android:layout_width 를 "0dp" 로 한다.

 

 

🙂 예시) vertical 의 1 : 2 : 1 의 하위요소 가중치를 가질 경우

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="@color/white"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#FFF3F3F3"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:background="#FF535353"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#FF23F3F3"/>

</LinearLayout>

 

 

 

728x90