[Android] RelativeLayout

오리너구리·2024년 6월 1일
0

개발 공부 정리

목록 보기
8/9
post-thumbnail

Relative Layout

(렐러티브 레이아웃)

레이아웃 내의 Children 뷰 위젯들이 서로간의 상대적 위치 관계에 따라 최종적으로 표시될 영역을 결정하도록 만드는 레이아웃


배치 기준별 사용할 수 있는 속성 정리

1. RelativeLayout의 자식뷰 간 상대적 위치 결정

기준이 되는 뷰를 Anchor View라고 부른다.
Anchor View를 기준으로 왼쪽, 위, 오른쪽, 아래 에 배치하거나
Anchor View의 각 방향을 기준으로 정렬을 할 수 있다.

1. layout_toLeftOf : View 를 Anchor View의 왼쪽에 배치
2. layout_above : View를 Anchor View의 위에 배치
3. layout_toRightOf : View를 Anchor View의 오른쪽에 배치
4. layout_below : View를 Anchor View의 아래에 배치
5. layout_toStartOf : View를 Anchor View의 시작에 배치
6. layout_toEndOf : View를 Anchor View의 끝에 배치

사용법

 android: layout_toLeftOf="id/AnchorView"

  1. layout_alignLeft : View를 Anchor View의 왼쪽에 맞춤
  2. layout_alignTop : View를 Anchor View의 위쪽에 맞춤
  3. layout_alignRight : View를 Anchor View의 오른쪽에 맞춤
  4. layout_alignBottom : View를 Anchor View의 아래쪽에 맞춤
  5. layout_alignBaseLine: View를 Anchor View의 폰트기준선에 맞춤
android:layout_alignLeft="@id/AnchorView" 

2. 부모인 RelativeLayout 기준으로 상대적 위치 결정

  1. layout_alignParentLeft : View를 부모영역 내에서 왼쪽에 배치
  2. layout_alignParentTop : View를 부모영역 내에서 위쪽에 배치
  3. layout_alignParentRight : View를 부모영역 내에서 오른쪽에 배치
  4. layout_alignParentBottom : View를 부모영역 내에서 아래쪽에 배치
  5. layout_alignParentStart : View를 부모영역의 시작지점에 배치
  6. layout_alignParentEnd: View를 부모영역의 끝지점에 배치

  1. layout_centerHorizontal : View를 부모영역의 가로방향 가운데에 배치
  2. layout_centerVertical : View를 부모영역의 세로방향 가운데에 배치
  3. layout_centerInParent : View를 부모영역의 정 중앙에 배치
 android: layout_alignParentLeft="ture or false"

기본 원칙

  1. RelativeLayout 에 배치관련속성을 지정하지 않은 View 를 추가하면 추가된 위젯은 RelativeLayout의 왼쪽 위(Left, Top)에 표시된다
  2. 배치관련 속성을 지정하지 않은 View를 하나 더 추가하면, 나중에 추가된 View 위젯이 원래 있던 View 위젯 위에 Overlap 되어 표시된다.
  3. 의도된 결과를 얻기위해서는 반드시 자식 뷰 위젯에 배치기준을 위한 속성을 사용해야한다.

Start와 Left? End와 Right?

한국에서는 Start ==Left , End==Right

(한글은 글을 읽을때 왼쪽에서 오른쪽으로 읽기 때문.

글을 읽을 때 오른쪽에서 왼쪽으로 읽는 나라에서는

Start ==Right , End == Left 로 설정됨)


공부할 때 참고한 자료

https://recipes4dev.tistory.com/126

profile
오리너구리입니다

0개의 댓글