공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는
안드로이드 ConstraintLayout 에 대해 알아보겠습니다.
지원 버전 : API 9(진저브레드) 이상 버전에서 사용가능. |
개념 : 위젯을 유연하게 배치하고, 크기를 지정할 수 있는 ViewGroup입니다. |
ConstraintLayout 은 RelativeLayout 의 확장판? 같은 느낌이라고 생각하시면 됩니다.
여러가지 제약조건을 사용함으로써 위젯들을 배치하시면 됩니다.
사용할 수 있는 제약조건 유형들은 아래와 같습니다.
- Relative positioning 상대적 배치
- Margins 여백
- Centering positioning 중앙 배치
- Circular positioning 원형 뱌차
- Visibility behavior 가시성 동작
- Dimension constraints 측정 기준 제약 조건
- Chains 체인
- Virtual Helpers objects 가상 헬퍼 객체
이번 포스팅에서는
Relative positioning
상대 위치 지정 에 대해 알아보겠습니다.
Relative positioning은 ConstraintLayout에서
레이아웃을 구성하는 기본 요소 중에 하나 입니다.
이 제약 조건을 통해서 특정 위젯을 다른 위젯에 상대적으로 배치할 수 있습니다.
배치 방법에는 수평축과 수직축이 있습니다.
아래 그림의 숫자를 써놨습니다.
수평축 : left(2), right(3), start(2), end(3)
수직축 : top(4), bottom(5), text baseline(1)
일반적인 개념은 위젯의 주어진 면을 다룬 위젯의 다른 면으로 제한하는 것이라고 합니다.
예를 들어
B라는 버튼을 A라는 버튼 오른쪽에 배치하고 싶다면
<Button android:id="@+id/btnA" ... />
<Button android:id="@+id/btnB" ...
app:layout_constraintLeft_toRightOf="@+id/btnA" />
이런 식으로 작석하시면 됩니다.
아래 목록은
Relative positioning에서 사용할 수 제약조건들 입니다.
layout_constraintLeft_toLeftOf
layout_constraintLeft_toRightOf
layout_constraintRight_toLeftOf
layout_constraintRight_toRightOf
layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf
어떻게 적용이 되나 살펴보면
앞에 있는 left, right, top, bottom, .... 이
해당 제약조건을 선언하고 있는 위젯이고,
toXXXOf에 들어가는 위치가 "@+id/btnA" 의 위치입니다.
바로 위를 예로 들면
버튼 B 의 End 면과 버튼 A의 End 면을 같은 위치로 해라
가 되겠습니다
그리고 마지막으로
부모 레이아웃에 대하여 상대 위치를 지정하고 싶다면,
"@+id/..." 대신에 "parent" 속성을 사용하시면 됩니다!!
다음 포스팅에서는 Margins 와
Circular positioning에 대해 알아보겠습니다.
'안드로이드' 카테고리의 다른 글
안드로이드 스튜디오 버전 업데이트 하기! (1) | 2017.11.13 |
---|---|
안드로이드 ConstraintLayout Margins 와 Centering positioning and Bias (0) | 2017.11.08 |
안드로이드 블루투스 묻지 않고 On/Off 하는 방법 (0) | 2017.11.07 |
안드로이드 비콘(BLE) 스캐너 Android Beacon Library 사용 방법! (15) | 2017.11.03 |
안드로이드 ClickableSpan, SpannableString => String - 문자열 중 특정 문자열에 클릭 이벤트 onClickListener 적용하기! (0) | 2017.10.26 |