LinearLayout의 자식 View에는 가중치를 부여할 수 있다.

가중치는 layout_weight 로 표현되며 가중치는 정수로 표현되며 자식뷰의 중요도를 나타낸다.

LinearLayout 의 자식 View들의 가중치가 각각 1, 2, 3 이면 남아있는 공간의 1/6, 2/6, 3/6을 각각 할당한다.

자식 View의 가중치를 지정하지 않으면 android:layout_weight="0" 으로 간주하고 확장하지 않는다.

 

layout_gravity : 부모 컨테이너의 여유 공간에 View가 모두 채워지지 않아 여유 공간 안에서 View를 정렬할 때

gravity : View 에서 화면에 표시하는 내용물을 정렬할 때

 

 

weight는 비율을 주는 속성인데 width나 height중 비율을 주고싶은 속성에 0dp를 줘야한다.
여기선 한줄을 똑같이 나눠가지길 원하니까 width의 값에 0dp를 주어야한다.
또 항목들을 감싸고 있는 레이아웃에 weigthSum값을 지정해 주어야 하는데 이것은 선택사항이다.
weight는 비율 값이라 0.00~1.00까지의 값을 가진다.

weighSum은 하위 각각 레이아웃 weight의 값의 합이 되어야 하며 값을 초과하게될 경우 레이아웃이 View에서 벗어나게 된다.

 

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="5">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:text="2" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="3" />

</LinearLayout>



출처: https://link2me.tistory.com/1433 [소소한 일상 및 업무TIP 다루기]

+ Recent posts