Android Study

ConstrainLayout으로 LinearLayout weight 와 같은 효과 적용(vertical)

85chong 2021. 7. 22. 00:20
728x90
반응형
SMALL

* ConstrainLayout weight 효과 적용

 

1. 아래의 코드와 같이 기본적으로 constrain 을 사용할 두개의 view 의 사방의 포지션을 지정해준다. 

2. weight 할 대상과 chain으로 묶는다.

(! chain 이 특별한 것은 아니다, 예를 들어 가로로 묶는다고 하면 그냥 start , end로 묶던 left ,right 묶던 상관없다. 서로를 묶기만 하면된다)

3. 세로는 vertical wieght 로, 가로는 horizontal weigt 로 비율을 지정하면 끝.

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <View
        android:id="@+id/vw_1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@color/black"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/vw_2"
        app:layout_constraintVertical_weight="0.5"/>

    <View
        android:id="@+id/vw_2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@color/teal_700"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/vw_1"
        app:layout_constraintVertical_weight="0.5"/>

</androidx.constraintlayout.widget.ConstraintLayout>

위의 코드를 그대로 복사하여 실행하면 세로 weigt가 먹은것을 알 수 있다.

 

- 끝 -