안드로이드

안드로이드 ConstraintLayout Cilrular Positioning 원형 위치 지정

알통몬_ 2017. 11. 13. 14:55
반응형


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

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

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

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


안드로이드 ConstraintLayout 3번 째 포스팅입니다.


이번 포스팅은 짧게 넘어갑니다.


Circular positioning 에 대해 알아보겠습니다.


말 그대로 A라는 위젯의 위치로부터 원을 그리며 위치를 지정할 수 있습니다.

아래 사진은 구글 공식 문서에 나와있는 그림입니다.

그리고 얘는 ConstraintLayout 1.1 버전에서 추가된 거라서, 1.0.2 버전에서는 사용이 안되구요.

compile 'com.android.support.constraint:constraint-layout:1.1.0-beta3'


위 버전을 컴파일하셔서 사용하시면 됩니다.


속성은 3가지가 있습니다.

app:layout_constraintCircle="@+id/btnA"
app:layout_constraintCircleAngle="135"
app:layout_constraintCircleRadius="100dp"

1. layout_constraintCircle="@+id/참조할 위젯의 아이디"

2. layout_constraintCircleAngle="12시방향이 0, 3시방향이 90, 6시 방향이 180 .... 등등"

안에 들어갈 수 있는 값은 0~ 360입니다.

3. layout_constraintCircleRadius="xxxdp" 참조할 위젯의 중심으로부터 해당 위젯 중심까지의 거리입니다.


쉽죠?

제가 실습한 코드입니다.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="altong.mon.constraintlayoutexample.MainActivity">

<Button
android:id="@+id/btnA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AAA"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BBB"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintCircle="@+id/btnA"
app:layout_constraintCircleAngle="135"
app:layout_constraintCircleRadius="100dp"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

감사합니다.


반응형