[안드로이드] 제약 레이아웃(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)를 결정할 때는 연결선이 중요한 역할을 한다.

Author

MoonDoni

Posted on

2021-02-17

Updated on

2021-03-15

Licensed under

댓글