안드로이드 ConstraintLayout Chains

littlecsh·2024년 1월 4일

앱개발

목록 보기
4/16
post-thumbnail

안드로이드에는 여러 레이아웃을 사용해 개발을 하고 있지만 ConstraintLayout이 생기면서 레이아웃에도 많은 변화가 찾아왔다.
ConstraintLayout로 대부분의 다른 레이아웃을 구현이 가능했고, 더 쉽고 편해졌다.
때문에 구글에서도 ConstraintLayout사용을 권장하고 있다고 한다.

그 예시로 ConstraintLayout의 기능인 Chains이 있다.
chains은 여러개의 뷰를 정렬하기 위한 것으로 특히 뷰들을 서로 붙여서 정렬하는 pack은 ConstraintLayout이 나오기 전에는 레이아웃을 만들고 그 안에 뷰들을 배치해야 했지만 이젠 chains기능을 사용하여 간단하게 구현이 가능해졌다.

Spreed Chain

spreed chain은 뜻그대로 퍼트리는 것이다. 퍼트리는 기준은 일정한 간격이다.
위의 예시와 같이 뷰가 3개가 있다면 3개를 제외한 나머지여백은 모두 일정한 간격으로 뷰를 배치하는 것이다.

Spreed Inside Chain

Spreed Inside Chain은 Spreed Chain과 개념은 동일하지만 양쪽 가장끝에 있는 뷰는 (부모레이아웃)가장 끝에 배치한채로 여백을 일정하게 하는 방식이다.

Packed Chain

Paced Chain은 뷰를 모두 붙여 가운데에 배치하는 방식이다.
앞서 말한 ConstraintLayout이 생긴 후 구현이 편해진 방식이다.

Packed Chain with Bias

기본적으로 Paced Chain과 동일하지만 bias를 이용해 여백의 비율을 다르게 할 수 있다.
여백의 비율은 bias로 정하게 되는데, 기본값은 0.5로 Pack Chain과 동일하다.
bias의 값은 0~1사이의 값으로 양쪽 bias의 합이 1을 기준으로 비율을 정하면 된다.
예를 들어 위의 사진과 같이 1:3의 비율로 여백을 두고 싶다면 bias는 좌:0.25 / 우:0.75 가 되는 것이다.

체인을 사용하기 위해선 기본적으로 서로가 연결되어 있어야 한다.
이점만 주의한다면 chain을 구현하는데는 큰 어려움은 없을 거라고 생각한다.

profile
앱개발 튜토리얼

0개의 댓글