Relative Layout은 상대적인 레이아웃으로 자식 뷰 또는 부모 뷰 간의 관계에 따라 배치를 적용하는 레이아웃이다.
레이아웃 계층 구조를 평면으로 유지하여 성능을 개선하므로 UI 설계에 유용한 유틸리티이다.
Relative Layout 으로 구현하기 전에는 계속 여러 개 중첩된 LinearLayout 을 이용하였는데, RelativeLayout 을 사용한다면 더 간단하게 할 수 있는 것 같았다. Linear Layout 을 여러개 써서 계층이 깊어지는 것을 막을 수 있다. 적은 양의 코드로 뷰의 자유로운 배치를 위해 필요하다.
먼저 RelativeLayout 을 사용한다면 하위 뷰, 상위뷰, 서로 다른뷰를 ID로 구분하고 상대적인 위치를 지정할 수 있다.
RelativeLayout 에는 많은 레이아웃 속성이 있다.
1) 부모 뷰 그룹간의 관계에 따른 배치
- android:layout_alignParentTop : 부모 뷰그룹 영역에서 상단에 배치
- android:layout_alignParentLeft : 부모 뷰그룹 영역에서 왼쪽에 배치
- android:layout_alignParentRight: 부모 뷰그룹 영역에서 우측에 배치
- android:layout_alignParentBottom : 부모 뷰그룹 영역에서 하단에 배치
- android:layout_alignParentVertical : 부모 뷰그룹 영역에서 수직 중앙에 배치
- android:layout_centerHorizontal : 부모 뷰그룹 영역에서 수평 중앙에 배치
- android:layout_centerInParent: 부모 뷰그룹 영역에서 정중앙에 배치
2) 자식 뷰 간의 관계 배치
- android:layout_above = 기준 뷰 ID
빨간색: 배치되는뷰, 파란색: 기준뷰
기준뷰 위에 배치!
- android:layout_below = 기준 뷰 ID
기준뷰 아래에 배치할 뷰를 배치!
- android:layout_toRightOf
기준뷰 오른쪽에 붙이기
- android:layout_toLeftOf
기준뷰 왼쪽에 붙이기
- android:layout_alignTop = 기준 뷰 ID
기준뷰와 배치할 뷰의 상단부를 맞춰서 배치
- android:layout_alignBottom = 기준 뷰 ID
기준뷰와 배치할 뷰를 하단부에 맞추어 배치
- android:layout_alignLeft
왼쪽선에 맞춰서 배치
- android:layout_alignRight
오른쪽 선에 맞춰서 배치
XML 레이아웃에서 Relative 레이아웃을 이용했을 때 순서와 상관없이 종속성의 선언이 가능하다.
view2가 계측 구조에 선언된 마지막 뷰라고 해도 view1을 view2 아래에 배치할 수 있다!
'APP > 안드로이드프로그래밍' 카테고리의 다른 글
Android - Manifest 정리 (1) | 2021.01.09 |
---|---|
Android - 이미지버튼 모양이 이상할 때 (0) | 2021.01.07 |
java.net.SocketException: socket failed: EPERM (Operation not permitted) (0) | 2020.11.01 |
안드로이드에 파이어베이스 연동하기 (0) | 2020.10.31 |
안드로이드스튜디오에서 Jsoup으로 웹 크롤링하기 (Java) (2) | 2020.09.14 |