본문 바로가기
▶개발/Android

[Android] 안드로이드 레이아웃:Constraint Layout

by 브라더 준 2018. 10. 2.

안드로이드 정리노트 #2 안드로이드 레이아웃

(Android Layout:Contraint Layout)


@레이아웃이란?

- 사전적 의미로는 '출판·광고·건축 분야 등에서, 문자·그림·사진 등을 지면 위에 시각적 효과와 사용 목적을 고려하여 구성·배열하는 일'

- 즉, 앱의 개발에 있어 완성품이 보여주고자 하는 배열, 구성을 의미함

- 버튼이나 이미지뷰등의 아이템들을 배치하는데 있어 사용할 수 있는 레이아웃들의 종류는 다양함

- Contraint Layout, Linear Layout, Frame Layout, Relative Layout등이 있음


@Contraint Layout

- 제약조건들로 해당 아이템을 연결한다

- <예시>

- 아래와 같이 버튼 2개를 구성했다. 첫 번째 버튼(id값 : button)은 두 번째 버튼(id값 : button2)의 상단에 존재하며, 여백은 32dp이다.



- <코드>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button" />

- 첫 번째 버튼의 속성중 layout_contraintTop_toTopOf의 값은 "parent"이다.

- 즉, 버튼의 contraintTop(버튼의 상단)은 toTopOf parent(부모의 최상단)과 제약조건을 갖는다.

- 두 번째 버튼의 속성중 layout_contraintTop_toBottomOf의 값은 "button"(첫 번째 버튼)이다.

- 즉, 두 번째 버튼의 contraintTop은 toBottomOf button(첫 번째 버튼의 하단)과 제약조건을 갖는다.

- 나머지 contraintStart와 End또한 parent의 Start 혹은 End와 제약조건을 갖고 따로 여백을 지정하지 않았으므로 가운데 정렬된다.

- 첫 번째 버튼과 두 번째 버튼은 상단에 32dp만큼 marginTop을 주었다.



반응형