Android Constraint Layout
안드로이드 앱 프로그래밍
2022-09-13(화요일)
오늘 내가 공부한 내용 - Android Constraint layout
[ConstraintLayout](https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout?hl=ko)을 사용하면 플랫 뷰 계층 구조(중첩 뷰 그룹이 없음)로 크고 복잡한 레이아웃을 만들 수 있습니다.
동위 보기와 상위 레이아웃 사이의 관계에 따라 모든 보기의 레이아웃이 결정된다는 점에서 [RelativeLayout](https://developer.android.com/reference/android/widget/RelativeLayout?hl=ko)과 비슷하지만, RelativeLayout보다 유연하고 Android 스튜디오의 Layout Editor와 함께 사용하기가 더 쉽습니다.
레이아웃 API와 Layout Editor는 서로 호환되도록 특별히 빌드되었으므로 Layout Editor의 비주얼 도구에서 직접 ConstraintLayout의 모든 기능을 사용할 수 있습니다. 따라서 XML을 수정하지 않고 드래그 앤 드롭만을 사용하여 ConstraintLayout으로 레이아웃을 빌드할 수 있습니다.
제약조건 개요
ConstraintLayout에서 보기의 위치를 정의하려면 보기의 가로 및 세로 제약조건을 각각 하나 이상 추가해야 합니다. 각 제약조건은 다른 보기, 상위 레이아웃 또는 표시되지 않는 안내선을 기준으로 한 정렬 또는 연결을 나타냅니다. 각 제약조건은 세로 또는 가로 축을 따라 보기의 위치를 정의하므로, 각 보기에는 축마다 하나 이상의 제약조건이 있어야 하며, 흔히 더 많이 필요합니다.
보기를 Layout Editor에 놓으면 제약조건이 없어도 둔 위치에 그대로 남아 있습니다. 이는 단지 더 쉽게 편집하도록 한 것이며, 기기에서 레이아웃을 실행할 때 보기에 제약조건이 없으면 0, 0 위치에 그립니다.
그림 1의 편집기에서 레이아웃은 문제가 없어 보이지만, 보기 C에 세로 제약조건이 없습니다. 기기에 이 레이아웃을 그리면 보기 C가 보기 A의 왼쪽과 오른쪽 가장자리에 맞게 가로로 정렬되지만, 세로 제약조건이 없으므로 화면의 맨 위에 표시됩니다.
ConstraintLayout을 프로젝트에 추가
프로젝트에서 ConstraintLayout을 사용하려면 다음을 진행하세요.
- 모듈 수준
build.gradle파일에 선언된maven.google.com저장소가 있는지 확인합니다.
repositories {
google()
}
-
다음 예와 같이 동일한
build.gradle파일에 종속 항목으로 라이브러리를 추가합니다.최신 버전은 다음 예에 표시된 버전과 다를 수 있습니다.
dependencies { implementation "androidx.constraintlayout:constraintlayout:2.1.4" // To use constraintlayout in compose implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1" } -
툴바 또는 동기화 알림에서 Sync Project with Gradle Files를 클릭합니다.
이제 ConstraintLayout으로 레이아웃을 빌드할 준비가 되었습니다.