[Android] RelativeLayout

728x90

 

RelativeLayout

- parent나 다른 뷰와의 관계를 설정하여 배치하는 레이아웃

- RelativeLayout에는 특별한 속성이 없지만 배치되는 뷰들의 속성을 이용해 배치를 결정하게 됨

 

배치되는 view들의 주요 속성

- layout_alignParentTop/Bottom/left/right : 자신의 상단을 parent의 상단/하단/좌측/우측 부분과 일치 시킴

- layout_alignWithParentMissing : 다른 뷰를 정렬 기준으로 설정했을 경우 기준으로 설정한 뷰가 없을 때 parent를 기준으로 정렬하게 됨 
  * ex) 뷰B는 뷰 A의 위에 있을것이다 라고 설정을 했는데 뷰 A가 사라지게 되면 기준이 사라지게 되는데, 이 때 부모와의 관계로 설정할 수 있도록 함
  * 팔레트를 보면 RelativeLayout이 레거시쪽에 분류가 되어있는데 지금은 Constraint Layout으로 대체해서 쓰라고 권고하기 때문임, 하지만 예전부터 많이 사용하던 레이아웃이기 때문에 알아두는 것이 좋음 

- layout_centerHorizontal : 세로 방향의 중앙에 정렬

- layout_centerVertical : 가로 방향의 중앙에 정렬

- laytout_centerInparent : 가로,세로 모두 중앙에 정렬 (부모 기준)

- layout_alignTop/Bottom/left/right : 자신의 상단/하단/좌측/우측 부분을 지정된 뷰의 상단/하단/좌측/우측에 일치
  * start : left와 별 차이가 없음 / end : right 와 별 차이가 없음 

- layout_alignBaseline : 자신의 baseline 부분과 지정된 뷰의 baseline을 일치

 

속성을 설정하려고하면 id가 나온다. 각각 top에 맞췄을 때 bottom에 맞췄을 때의 모습

 

- layout_above/below/toRightOf/toLeftOf : 지정된 뷰 상단/하단/우측/좌측에 배치

laygout_below 를 준 모습

 * 지금 쓰지 않는 이유는 마진으로 거기를 띄우더라도 마진을 주기 전 위치를 기준으로 배치하기 때문에 의도와 다른 위치에 배치 될 수 있음 

728x90

'안드로이드 스튜디오' 카테고리의 다른 글

[Android] Space  (0) 2025.06.11
[Android] ConstraintLayout  (1) 2025.06.10
[Android] TableLayout  (0) 2025.06.09
[Android] LinearLayout  (0) 2025.06.07
[Android] ViewBinding  (1) 2025.06.07