TIL 12: iOS에 Auto Layout이 있다면, Android에는 ConstraintLayout이 있다!
TL;DR
- 안드로이드에서
ConstraintLayout
을 사용하면,
iOS의Auto Layout
컨셉으로 레이아웃을 구성할 수 있다.
iOS 개발자에게 반가운 안드로이드의 ConstraintLayout
iOS 개발자라면 스토리보드를 사용하든 코드로 작성하든 Auto Layout
을 이용해 뷰를 구성한 경험이 있을 것이다.
제약 조건(Constraint)을 이렇게 저렇게 (잘) 걸어두면, 화면의 변화에 따라 뷰가 자동으로 배치되고 크기가 변하게 할 수 있다.
물론, 잘 설정한다는 가정이 필요하다.
잘못 설정하면 레이아웃이 엄청 깨지는 것을 경험할 수 있으므로, 제약 조건에 대한 이해가 확실해야 한다.
아무튼 익숙해진다면, 아주 편리하게 뷰를 배치할 수 있을 것이다.
현재 회사에서 스토리보드를 사용하지 않고, 코드로만 뷰를 작성하는 프로젝트를 많이 하고 있기 때문에 정말 유용하게 사용하고 있다.
(기존 레거시 코드는 좌표와 크기를 일일이 계산하면서 뷰를 작성해 유지보수가 지옥이다. 😇 특히, 테이블 뷰 셀… ☠️)
그러다 안드로이드 프로젝트를 진행하고 있는데, 옛날에 사용하던 RelativeLayout
은 뭔가 되게 어설프다.
원하는 레이아웃을 깔끔하게 구성하기 어려웠다.
그러던 중에 우연히 ConstraintLayout
을 알게 되었다.
이름을 보자마자 익숙한 단어가 보였다.
Constraint라는 단어가 이름에 붙은 것부터 제약 조건을 이용해 레이아웃을 구성한다는 것을 유추할 수 있다.
그리고 직접 사용해보니 iOS의 Auto Layout
가 매우 유사했다!
아주 반가웠고, 그 컨셉에 빠르게 적응할 수 있었다.
현재는 안드로이드 프로젝트에서도 유용하게 잘 사용하고 있다.
역시 익숙한 것이 좋은 것이여. 🙂