[안드로이드] 제약 레이아웃(Constraint Layout)
제약 레이아웃(ConstraintLayout)
- 제약 레이아웃은 처음 프로젝트를 만들었을 때 자동으로 만들어지는 레이아웃이다.
- 제약 레이아웃은 제약 조건을 이용해 그 안에 추가된 뷰들의 위치를 결정한다.
- 제약 조건은 연결선을 통해서 만들어진다.
- 연결선(
핸들
Handle)은 뷰의 상,하,좌,우에 있는 연결점(앵커 포인트
)을 다른 레이아웃이나 위젯의 상,하,좌,우와 연결하여 만들 수 있다.- 연결해서 만들어지는 연결선이 Constraint(제약조건)가 된다.
- iOS 앱개발 시 사용하는 레이아웃 방식과 유사하다.
- 위 모습 상자에 상하좌우 0이라고 적혀있는 것은
Margin 정도
로, 벽면(부모 View)에서 떨어진 정도를 나타내는 수치이다. - 아래
Constraint
가 제약 조건인데, 부모 View로부터 상하좌우 떨어진 정도를 나타낸다. (단위는 dp)
제약 레이아웃 내부에 View 생성
- 연결선을 사용하여 View를 만들어준다.
같은 레이아웃 내부에 두개의 View
- margin 값을 포함하여 같은 뷰 그룹안에 포함된 뷰끼리도 연결하여 위치 지정이 가능
Bias
- View가 상하로 제약되어 있거나, 좌우로 제약되어 있으면 View는 정 가운데로 오게 된다. 마찬가지로 상하좌우 모두 제약 되어 있을 때도 마찬가지.
- 이렇게 모두 ‘제약’되어 있을 때 View가 어디든 위치할 수 있도록 해주는 수치 값을
Bias
라고 한다.
Guideline
- 레이아웃 이외에 가이드라인을 가로/세로(vertical/horizontal) 정해서 다른 뷰끼리 서로 정렬시켜주는 역할을 하는 기능
- xml을 열고 Design 탭 - 화면 상단 Guidelines 버튼을 눌러 사용.
결론
이렇게 제약 레이아웃에서 View의 위치(Widget)를 결정할 때는 연결선이 중요한 역할을 한다.
[안드로이드] 제약 레이아웃(Constraint Layout)
https://msj0319.github.io/2021/02/17/안드로이드-제약-레이아웃-Constraint-Layout/