constraintlayout 사용시 주의할 점

한창희·2021년 11월 1일
0

기기별 사이즈에 대응하기 위해 Constraintlayout 내부에 각 뷰들의 높이를 전체를 감싸는 Constrainlayout의 높이를 기준으로 비율값을 할당했다

Constraintlayout 안에 ScrollView(수직 스크롤)가 있고 특정 뷰가 gone 상태에서 visible 상태가 되는 화면을 만드는 과정에서 문제가 생겼다

우선 동적으로 뷰가 생성되면서 해당 뷰의 하위 부분이 그만큼 밑으로 밀려나게 되고 화면 밖을 벗어나게 되어 이를 볼 수 있게 ScrollView로 감싼거였다


이 때 동적뷰가 생성되면서 높이를 기준으로 크기를 설정한 하위 뷰들의 크기가 커졌다.
동적뷰의 생성으로 인해 레이아웃의 높이가 기존에 화면을 꽉 채우는 높이값보다 커지게 되는 것으로 생각했다.


따라서 크기가 변하지 않을 가로 길이를 기준으로 새로운 비율값을 설정하여 동적뷰가 생성되어도 하위 뷰들의 크기가 일정하게 구현을 했다.

profile
매 순간 최선을 다하자

0개의 댓글