ConstraintLayout이란?
복잡한 레이아웃을 단순한 계층 구조를 이용하여 표현할 수 있는 ViewGroup입니다.
즉 복잡한 계층구조로 레이아웃을 구성하는 방식에서 자유로워질 수 있습니다.
형제 View들과 관계를 정의해서 레이아웃을 구성한다는 점이 RelativeLayout과 비슷하지만,
보다 유연하고 다양한 기능을 제공합니다.
ConstraintLayout을 사용하면 좋은점?
- 복잡한레이아웃 계측구조를 단순히 구성하여 작성할 수 있습니다.
- 자식뷰 간의 상호관계를 정의가능합니다.
Constraint
Constraint = 제약조건
제약조건을 기반으로 레이아웃을 구성하는 특징을 가지고 있다.
ConstraintLayout에서 View의 위치를 정의하려면 보기의 가로 및 세로 제약조건을 각각 하나 이상 추가해야 한다.
각 제약조건은 세로 또는 가로 축을 따라 View의 위치를 정의하므로, 각 View에는 축마다 하나 이상의 제약조건이 있어야 한다.
Constraint 제약조건
- Constraintlayout에서 자식 뷰의 위치를 잡는 기준
- 다른뷰나 부모 레이아웃과의 정렬조건 / 연결관계를 나타냄
- layout_constraint[기준1]_to[기준2]of ="[viewId || parent]" 으로 xml text 작성
- start, end 속성은 left, right 속성보다 우선됨
- Top/Bottom/Start/End를 모두 선언해야하는 것은 아님
- 하지만 체인등 다른 기능 사용시 예상치 못한 동작이 발생할 수 있음.
왠만하면은 상, 하 , 좌, 우 모두 제약조건을 설정해주는것을 권장한다.
'안드로이드 > Layout' 카테고리의 다른 글
FrameLayout (0) | 2022.05.31 |
---|---|
안드로이드 크기 단위(dp, px, dpi, sp) (0) | 2022.04.10 |
RelativeLayout (0) | 2022.04.05 |
LinearLayout (0) | 2022.04.05 |