Debbi Story

DataBinding으로 layout_weight 값 적용하기 본문

안드로이드/Tip

DataBinding으로 layout_weight 값 적용하기

Debbi 2020. 8. 21. 21:13
728x90

 

 

 

안드로이드 LinearLayout 사용시 비율을 주고싶을때 사용하는 속성!

layout_weight이 있습니다.

타입은 float형으로 되어있는데요. 

저는 DataBinding과 ViewModel을 사용해 값을 변경해주고 싶었지만 오류가 생깁니다!!

아래 처럼 BindingAdapter를 사용하면 됩니다!

object MainBindings {

    @JvmStatic
    @BindingAdapter("android:layout_weight")
    fun setLayoutWeight(view: View, weight: Float) {
        val layoutParams = view.layoutParams as? LinearLayout.LayoutParams
        layoutParams?.let {
            it.weight = weight
            view.layoutParams = it
        }
    }
    
}