안드로이드/Layout

Constraint Layout에 대해서

block_626 2022. 4. 24. 00:25

ConstraintLayout이란?

복잡한 레이아웃을 단순한 계층 구조를 이용하여 표현할 수 있는 ViewGroup입니다.

즉 복잡한 계층구조로 레이아웃을 구성하는 방식에서 자유로워질 수 있습니다.

형제 View들과 관계를 정의해서 레이아웃을 구성한다는 점이 RelativeLayout과 비슷하지만,

보다 유연하고 다양한 기능을  제공합니다.

 

ConstraintLayout을 사용하면 좋은점?

  1. 복잡한레이아웃 계측구조를  단순히 구성하여 작성할 수 있습니다.
  2. 자식뷰 간의 상호관계를 정의가능합니다.

 

Constraint

Constraint = 제약조건

제약조건을 기반으로 레이아웃을 구성하는 특징을 가지고 있다.

ConstraintLayout에서  View의 위치를 정의하려면 보기의 가로 및 세로 제약조건을 각각 하나 이상 추가해야 한다.

각 제약조건은 세로 또는 가로 축을 따라 View의 위치를 정의하므로, 각 View에는 축마다 하나 이상의 제약조건이 있어야 한다.

 

Constraint 제약조건

  • Constraintlayout에서 자식 뷰의 위치를 잡는 기준
  • 다른뷰나 부모 레이아웃과의 정렬조건 / 연결관계를 나타냄
  • layout_constraint[기준1]_to[기준2]of ="[viewId || parent]" 으로 xml text 작성
  • start, end 속성은 left, right 속성보다 우선됨
  • Top/Bottom/Start/End를 모두 선언해야하는 것은 아님
  • 하지만 체인등 다른  기능 사용시 예상치 못한 동작이 발생할 수 있음.

왠만하면은 상, 하 , 좌, 우 모두 제약조건을 설정해주는것을 권장한다.

'안드로이드 > Layout' 카테고리의 다른 글

FrameLayout  (0) 2022.05.31
안드로이드 크기 단위(dp, px, dpi, sp)  (0) 2022.04.10
RelativeLayout  (0) 2022.04.05
LinearLayout  (0) 2022.04.05