Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 캐치마인드
- 베드테이블
- 좌식테이블
- 자취필수템
- 리얼하다
- 지지않는다는말
- 커스텀린트
- 어떻게 나답게 살 것인가
- 베드트레이
- 함수형 프로그래밍
- 브런치작가되기
- 면접
- 소프시스 밤부 좌식 엑슬 테이블
- 한달독서
- 재택근무
- 한달어스
- 1일1커밋
- 슬기로운 온라인 게임
- 아비투스
- 목적 중심 리더십
- 한단어의힘
- 한달브런치북만들기
- 끝말잇기
- 목적중심리더십
- 북한살둘레길
- 프래그먼트
- 안드로이드
- 소프시스
- T자형인재
- 테트리스
Archives
- Today
- Total
정상에서 IT를 외치다
[Android, ConstraintLayout, Chain] 1. ConstraintLayout 체인 설정하기 본문
반응형
ConstraintLayout 에서 체인을 설정하는 법에 대해 포스팅 하겠습니다.
레이아웃은 아래와 같이 설정해 주시면 됩니다.
<?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=".MainActivity">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn2"
app:layout_constraintBottom_toBottomOf="parent"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
app:layout_constraintEnd_toStartOf="@id/btn3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/btn1"
app:layout_constraintBottom_toBottomOf="parent"/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/btn2"
app:layout_constraintBottom_toBottomOf="parent"/>
</android.support.constraint.ConstraintLayout>
이 때 체인이 형성 되기 위해서는 각 뷰들이 서로를 바라보고 있어야 합니다.
해당 뷰의 왼쪽은 constrainatStrat, 오른쪽은 constraintEnd 입니다.
위 값은 글자의 시작점과 끝점으로 한국같은 경우에는 왼쪽이 글자의 시작이고 오른쪽이 글자의 끝이기 때문에 왼쪽과 오른쪽을 나타냅니다.
물론 constraintLeft 와 constraintRight 이 있지만 우선순위가 Start 와 End 가 더 놓습니다.
btn1 왼쪽 -> parent
btn1 오른쪽 <--> btn2 왼쪽
btn2 오른쪽 <--> btn3 왼쪽
btn3 오른쪽 -> parent
위와 같이 설정하시면
btn1 이 chain head 가 됩니다.
Chain Head 는 연결된 뷰들 중 왼쪽과 위쪽이 우선순위를 갖습니다.
이때 btn1 의
app:layout_constraintHorizontal_chainStyle=""
값을 변경하여 체인을 수정할 수 있습니다. 변경 할 수 있는 값은 spread, spread_inside, packed 입니다.
다음은 각각을 변경 했을 때의 모습입니다.
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_chainStyle="packed"
반응형
'안드로이드' 카테고리의 다른 글
Comments