ConstraintLayout은 안드로이드의 고급 레이아웃 시스템이다.
아이템을 상대적으로 자유롭게 배치할 수 있고 복잡한 UI도 계층이 깊어지지 않게 한 번에 그릴 수 있다.
아래 조건을 가진다.
- 각 뷰는 최소 2개의 제약(좌/우, 위/아래)을 걸어야 위치와 크기를 결정할 수 있음
- 제약이 없으면 뷰가 보이지 않거나 오류남
속성명 의미
| app:layout_constraintStart_toStartOf | 내 start(좌측)를 다른 뷰의 start에 맞춤 |
| app:layout_constraintStart_toEndOf | 내 start(좌측)를 다른 뷰의 end(우측)에 맞춤 |
| app:layout_constraintEnd_toStartOf | 내 end(우측)를 다른 뷰의 start(좌측)에 맞춤 |
| app:layout_constraintEnd_toEndOf | 내 end(우측)를 다른 뷰의 end(우측)에 맞춤 |
| app:layout_constraintTop_toTopOf | 내 상단을 다른 뷰의 상단에 맞춤 |
| app:layout_constraintTop_toBottomOf | 내 상단을 다른 뷰의 하단에 맞춤 |
| app:layout_constraintBottom_toTopOf | 내 하단을 다른 뷰의 상단에 맞춤 |
| app:layout_constraintBottom_toBottomOf | 내 하단을 다른 뷰의 하단에 맞춤 |
parent를 쓰면 부모(ConstraintLayout) 기준으로 맞춘다는 뜻