코린이 탈출기
Constraint Layout (1) - Relative Positioning 본문
안드로이드 스튜디오의 Layout 중에서 Constraint Layout에 관해 알아보겠습니다.
안드로이드 개발자를 위한 사이트로 안드로이드 스튜디오에 관한 내용을 다루는 사이트입니다.
원문을 보고 싶으시면 참고하세요.
Constraint Layout은 말 그대로 제약 조건을 주어 레이아웃을 배치하는 것을 말합니다.
가로와 세로축에서 위젯을 제한할 수 있습니다.
수평 축은 왼쪽, 오른쪽, 시작 그리고 끝 측면을 / 수직 축은 위쪽, 아래쪽 그리고 텍스트 기준선을 말합니다.
일반적인 개념은 위젯의 주어진 면을 다른 위젯의 다른 면으로 제한하는 것을 의미합니다.
제한한다는 것은 위치를 공유하도록 시도한다는 것을 의미합니다.
예를 들면, A 버튼과 B 버튼이 있다고 가정을 하면 A 버튼의 옆에 B를 위치시켜봅시다.
A 버튼의 오른쪽 면과 B 버튼의 왼쪽 면이 만나야 한다고 표현할 수 있습니다.
이처럼 각 위젯의 방향을 공유하는 것을 의미합니다.
이러한 방향을 공유하는 방법은 각 위젯에 id를 부여하여 사용하거나, 상위 컨테이너인 parent를 이용하면 됩니다.
여기서 상위 컨테이너인 parent는 (기본 설정 시) 화면 전체를 의미합니다.

위 그림은 각 위젯의 방향을 의미합니다.
이러한 방향을 사용해서 위치를 정할 수 있습니다.
안드로이드 스튜디오에서 사용하는 Constraint Layout의 목록을 알려드리겠습니다.
- layout_constraintLeft_toLeftOf
- layout_constraintLeft_toRightOf
- layout_constraintRight_toLeftOf
- layout_constraintRight_toRightOf
- layout_constraintTop_toTopOf
- layout_constraintTop_toBottomOf
- layout_constraintBottom_toTopOf
- layout_constraintBottom_toBottomOf
- layout_constraintBaseline_toBaselineOf
- layout_constraintStart_toEndOf
- layout_constraintStart_toStartOf
- layout_constraintEnd_toStartOf
- layout_constraintEnd_toEndOf
위의 코드를 작성 시에는 매우 헷갈릴 수 있습니다.
그래서 저는 저만의 방식으로 '지금 만드는 위젯의 방향 + 같이 위치시킬 위젯의 방향'으로 외워서 사용하는 중입니다.
코드를 작성 시에는 꼭 수평 축과 수직 축을 하나씩 넣어주지 않으면 에러가 발생합니다.
수평 축의 경우에는 가로 또는 세로 중 하나, 수직 축은 아래 또는 위 중 하나씩 꼭 넣어주어야 합니다.
하지만 만약 width 또는 height를 match_parent로 작성 시에는 해당하는 측면에 대해 작성하지 않아도 됩니다.
해당하는 측면을 전부 사용한다는 의미이기 때문에 굳이 위치를 제한하지 않아도 되는 것입니다.
'안드로이드 > 안드로이드' 카테고리의 다른 글
| Vector Asset (0) | 2021.09.29 |
|---|---|
| start vs left / end vs right (0) | 2021.09.06 |
| isEmpty vs isBlank (0) | 2021.09.06 |
| 숫자를 임의로 뽑는 코드 - List & Set (0) | 2021.08.11 |
| AVD(에뮬레이터) 개발자 모드 실행하기 - 안드로이드 스튜디오와 핸드폰 연결하기 (0) | 2021.08.05 |