ConstarintLayout 의 높이를 코드상에서 설정해야 하고, 해당 높이를 절대값이 아닌 부모 View의 비율로 설정해야 할 경우.

 

 다른 ViewGroup의 LayoutParams과 다르게 ConstraintLayout LayoutParams에는 matchConstraintPercentHeight 이라는 상대적 높이값을 설정하는 필드가 있다.

 높이를 변경할 ConstraintLayout을 지정하고, Params을 꺼낸 후 matchConstraintPercentHeight 값을 원하는 값(float type)으로 변경하고 적용하면 상대적인 높이가 설정된다.

 

아래는 예시 코드

ConstraintLayout layout = (ConstraintLayout)binding.constraintLayout0;
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams)layout.getLayoutParams();

layoutParams.matchConstraintPercentHeight = 0.5f;

layout.setLayoutParams(layoutParams);
layout.requestLayout();

+ Recent posts