연결선으로 만드는 제약조건
- 뷰의 위, 아래, 왼쪽, 오른쪽의 연결점을 부모 레이아웃의 벽면과 연결하면 제약조건 생성
- 같은 레이아웃 안에 들어있는 다른 뷰와 연결 가능
연결점을 연결할 수 있는 타깃
같은 레이아웃 안에 들어 있는 다른 뷰의 연결점
부모 레이아웃의 연결점
가이드라인(Guideline)
새로운 프로젝트 생성
- SampleConstraintLayout이라는 이름으로 새로운 프로젝트 생성
- 화면 왼쪽 윗부분에 버튼 추가
연결선 생성
- 왼쪽과 위쪽에 있는 연결점을 부모 레이아웃의 벽면과 연결
버튼 하나 더 추가하고 연결선 생성
- 버튼 추가 후 부모 레이아웃 및 기존 버튼과 연결선 생성
화면 가운데에 뷰 배치하기
- 버튼 추가 후 위, 아래, 왼쪽, 오른쪽 모두 부모 레이아웃과 연결선 생성
- 좌우 또는 위,아래를 쌍으로 연결하면 그 가운데에 배치됨
바이어스 사용하기
- 양쪽 또는 상하로 연결된 경우 오른쪽 제약조건 미리보기 창에서 바이어스(Bias)를 이용해 위치 조정 가능
뷰의 크기 조정
- 모서리에 있는 핸들(Handle)을 이용해 뷰의 크기 조정 가능
뷰가 차지할 수 있는 여유공간
- 부모 레이아웃 안에서 뷰가 차지할 수 있는 여유공간은 레이아웃에 의해 결정됨
가이드라인 사용하기
- 일정 기준선으로 뷰를 정렬할 때나 기준선에 맞추어 추가할 때 사용됨
XML 코드로 만들어지는 가이드라인
XML 레이아웃 파일에서 원본 XML을 보면 Guideline 태그로 만들어짐
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
android:orientation="vertical"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="20dp"
app:layout_constraintGuide_begin="100dp" />
...
가이드라인의 원본 코드 살펴보기
- xmlns 로 시작하는 속성, android로 시작하는 속성 등이 있음
<?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">
...
XML 코드의 접두어 의미
- XML 레이아웃 코드에서 접두어가 가지는 의미가 있음
(1) xmlns:android 안드로이드 기본 SDK에 포함되어 있는 속성을 사용합니다.
(2) xmlns:app 프로젝트에서 사용하는 외부 라이브러리에 포함되어 있는 속성을 사용합니다.
(3) xmlns:tools 안드로이드 스튜디오의 디자이너 도구 등에서 화면에 보여줄 때 사용합니다.
이 속성은 앱이 실행될 때는 적용되지 않고 안드로이드 스튜디오에서만 적용됩니다.
연결선이 만들어내는 XML 속성의 형식
- 일정한 규칙으로 만들어짐