안드로이드

안드로이드 ConstraintLayout Margins 와 Centering positioning and Bias

알통몬_ 2017. 11. 8. 14:52
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


지난 포스팅에 이어서 ConstraintLayout 에 대해 공부합니다.


 

margins 와 연결된 위젯의 Visiblilty 속성이 GONE 일 경우 Margins 



그냥 여백을 주고 싶을 때는 일반적으로 사용하는 속성들을 사용하시면 됩니다.

android:layout_marginStart

android:layout_marginEnd

android:layout_marginLeft

android:layout_marginTop

android:layout_marginRight

android:layout_marginBottom


값은 0이거나 양수이거나 Dimension를 가집니다.


그리고 연결된 위젯의 Visivility 속성이 GONE 이 되었을 경우의

여백을 설정하려는 경우에는 아래 속성을 사용하면 됩니다.

app:layout_goneMarginStart

app:layout_goneMarginEnd

app:layout_goneMarginLeft

app:layout_goneMarginTop

app:layout_goneMarginRight

app:layout_goneMarginBottom


마찬가지로 값은 0, 양수 또는 Dimension을 가집니다.


그냥 여백은 이미 아실테니 생략하고,

연결된 위젯의 Visivility 속성이 GONE 이 되었을 경우에

어떻게 되는지만 보겠습니다.

아래 두 사진으로 결과를 알 수 있습니다.

btnB에 app:layout_gomeMarginStart 값을 50dp 로 주었지만 실제로 여백이 생기지는 않았습니다.

하지만, btnA 의 visivility 속성을 gone으로 주자 아래처럼 btnA 와 btnB 사이에 

50dp만큼의 여백이 생긴 걸 확인할 수 있습니다.

 

Centering positioning 과 Bias



중앙 정렬방법은 간단합니다.

위 사진에서도 이미 나왔지만,

가로축 가운데 정렬은

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"


세로축 가운데 정렬은

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintBottom_toBottomOf="parent"

입니다.

Bias는 0 ~ 1사이의 Double 값으로 

0은 가장 위, 1은 가장 아래 입니다. 1이 넘어가면 위젯이 부모 레이아웃을 넘어갑니다.

Bias에도 가로축, 세로축이 있습니다.

        app:layout_constraintVertical_bias="0" // 세로

        app:layout_constraintHorizontal_bias="1" // 가로

아래 3개의 사진은 세로 Bias 의 변화에 따른 위치의 변화를 보여줍니다.

Default 값은 0.5입니다.

별로 어렵지 않죠??

이상입니다.

반응형