첫 ConstraintLayout에서 ChainStyle을 사용해 보았습니다.
9271 단어 안드로이드ConstraintLayoutXML
소개
신졸에서 처음으로 Android 앱을 구현했습니다.
그 때, ConstraintLayout의 이용 방법에 대해 조사해 보았으므로,
아웃풋으로서 같은 초보자의 참고가 되면 좋다고 생각 기사로 했습니다.
목차
ConstraintLayout이란?
ConstraintLayout은 위젯을 유연한 방식으로 배치하고 크기를 조정할 수 있도록 합니다.
iOS에서 말하는 Storyboard의 AutoLayout과 같은 기능을 가진 레이아웃이라고 합니다.
다음과 같이 다양한 제약을 할 수 있습니다.
체인 설정 방법
ChainStyle의 종류
Chain은 양방향 위치 제약 조건으로 상호 연결된 View 그룹입니다.
Chain은 기점이 되는 위치의 View에, layout_constraintHorizontal_chainStyle 혹은, layout_constraintVertical_chainStyle를 이용하는 것으로 설정할 수 있습니다.
Spread
뷰가 여백을 잡고 균등하게 배치됩니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="spread" />
Spread inside
양단의 마진은 취하지 않고, 안의 마진을 취해 균등하게 배치됩니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="spread_inside" />
Packed
하나의 요소로 정리되어 마진을 취합니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="packed" />
Weight 제약
ChainStyle이 spread 또는 inside inside로 설정된 경우 가중치를 사용하여 View의 너비를 지정할 수 있습니다. 이 때 Horizontal 또는 Vertical에 따라 View의 width 또는 height를 "match constraint(0dp)"로 해야 합니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="2"
app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="3"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
※ 화상은 1:2:3에서 설정한 것입니다.
참고
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 레후 렌세 / 안 d 로이 d / 삿포 rt / 곤 st 라이 t / st 라이 t t ぁ t. HTML
htps : // 메이 m. 코 m / @ man r / 안 st 라이언 t ぁ 요 t-chan s-4f3b58 음 15b
Reference
이 문제에 관하여(첫 ConstraintLayout에서 ChainStyle을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/zooko/items/9105b6d6a90fb88abc6e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Chain은 양방향 위치 제약 조건으로 상호 연결된 View 그룹입니다.
Chain은 기점이 되는 위치의 View에, layout_constraintHorizontal_chainStyle 혹은, layout_constraintVertical_chainStyle를 이용하는 것으로 설정할 수 있습니다.
Spread
뷰가 여백을 잡고 균등하게 배치됩니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="spread" />
Spread inside
양단의 마진은 취하지 않고, 안의 마진을 취해 균등하게 배치됩니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="spread_inside" />
Packed
하나의 요소로 정리되어 마진을 취합니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintHorizontal_chainStyle="packed" />
Weight 제약
ChainStyle이 spread 또는 inside inside로 설정된 경우 가중치를 사용하여 View의 너비를 지정할 수 있습니다. 이 때 Horizontal 또는 Vertical에 따라 View의 width 또는 height를 "match constraint(0dp)"로 해야 합니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="2"
app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="3"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
※ 화상은 1:2:3에서 설정한 것입니다.
참고
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 레후 렌세 / 안 d 로이 d / 삿포 rt / 곤 st 라이 t / st 라이 t t ぁ t. HTML
htps : // 메이 m. 코 m / @ man r / 안 st 라이언 t ぁ 요 t-chan s-4f3b58 음 15b
Reference
이 문제에 관하여(첫 ConstraintLayout에서 ChainStyle을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/zooko/items/9105b6d6a90fb88abc6e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="2"
app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/view"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_weight="3"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 레후 렌세 / 안 d 로이 d / 삿포 rt / 곤 st 라이 t / st 라이 t t ぁ t. HTML
htps : // 메이 m. 코 m / @ man r / 안 st 라이언 t ぁ 요 t-chan s-4f3b58 음 15b
Reference
이 문제에 관하여(첫 ConstraintLayout에서 ChainStyle을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zooko/items/9105b6d6a90fb88abc6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)