안드로이드 스튜디오/Java

안드로이드 스튜디오:레이아웃(Constraint Layout 기본 2)

류창 2021. 10. 8. 20:27
반응형

 

이번 포스팅은 ConstraintLayout의 Chain , goneMargin, guideline, barrier 을 소개하겠습니다.

 

 

Chain 설정

2개의 버튼을 눌러 Chain 설정

 

Chain 기능을 이용하시면, 여러개의 버튼을 그룹화 해서 단 하나의 메소드로 손쉽게 설정이 가능합니다.

 

 

app:layout_constraintHorizontal_chainStyle=""

app:layout_constraintVertical_chainStyle=""

 

Chain에는 3개의 형식이 있습니다.

   chainStyle : spread         chainStyle : packed       spread_inside

 

 

spread 속성은 일정한 간격으로 버튼들을 배치합니다.

packed 속성은 버튼들을 모아줍니다. 

spread_inside 속성은 버튼들을 가능한 최대한 일정한 간격으로 떨어트립니다. 

 

 

 

goneMargine 설정

 

goneMargine은 연결되어있는 버튼이 사라지면, 여백(Margine) 크기를 설정하는 옵션입니다.

 

 

예제를 통해 보시죠.

버튼 1은  왼쪽 벽에 60dp 여백으로 설정되어있고,

버튼 1은  2번이 30dp 여백으로 연결되어있고, 

버튼 2는  3번이 30dp 여백으로 연결되어있습니다.

 

 

만약, 버튼1을 클릭할때 버튼 1이 사라져버린다면 어떻게 될까요?

 

버튼 1이 사라지고, 2번 버튼이 30dp여백으로 맞춰졌습니다.

 

하지만 1번 버튼이 사라지고도,  벽으로부터 60dp를 맞추고 싶을때 goneMargine을 사용하면된다.

 

goneMargine을 사용해 60dp를 맞추어줬다.

 

 

 

guidline 설정

 

 

guideline으로 기준선을 잡을수있다.

 

guideline이 없었으면, 디바이스 왼쪽벽을 기준으로 했지만,

guildeline을 설정한뒤,  constraintGuide_begin값을 설정한다면, 기준선을 잡아줄수가있다.

 

 

 

barrier 설정

 

위젯의 크기에따라 동적으로 움직이는 Barrier
위젯의 크기에 상관없이 정적으로 움직이는 Guideline

 

barrier속성도 동일하게 guildeline(기준선)을 잡아준다는 특징이 있습니다.

 

barrier는 위젯의 크기에 따라서 동적으로 guildeline(기준선)을 잡아주는 요소다. 

 

guildline이 정적으로 움직인다면, barrier는 동적으로 움직인다.

 

반응형