효율적인 레이아웃 설계를 위하여 : 성능 및 뷰 계층 구조 | Android 개발자 | Android Developers
간단한 레이아웃을 구성하려면 linearLayout 을 쓰는게 좋지만, 복잡한 레이아웃에 linearLayout 를 중첩해서 사용하는건 성능 저하가 우려된다. 이때 Constraint Layout 을 이용한다.
ConstraintLayout | Android Developers
ConstraintLayout으로 반응형 UI 빌드 | Android 개발자 | Android Developers
Constraint Layout 은 몇가지 명확한 강점을 가지고 있다.
정확한 Constraint 를 알아내는것은 경험이 필요한 일이라는 단점도 가지고 있다.
Constraint 라는 것은 어떠한 View 에 대해 특정 View 의 위치를 강제한다는 것이다.
초기 Empty Template 로 시작하면 Hello World 라는 TextView 가 Srcree 에 대해 Constraint 되어 있기 때문에 중앙에 위치하게 된다.
이 이미지를 보면 큰 이미지(imageView3) 는 parent(Screen) 에 대해서 위치가 정해지고 있고, 작은 이미지(imageView4) 는 위로는 큰 이미지의 하단 부분 (app:layout_constraintTop_toBottomOf="@+id/imageView3") 으로 위치가 강제되고 있고, 나머지는 parent(Screen) 에 맞춰져 있다.