본문 바로가기
App/Layout

RelativeLayout

by hyoungbin 2023. 12. 27.

RelativeLayout이란?

RelativeLayout은 상대 위치에 하위 뷰를 표시하는 뷰 그룹입니다.

각 뷰의 위치는 동위 요소(예: 다른 뷰의 왼쪽 또는 아래)에 상대적이거나 상위 RelativeLayout 영역(예: 맨 아래, 왼쪽 또는 중앙으로 정렬됨)에 상대적인 위치로 지정될 수 있습니다.

 

RelativeLayout 특징

부모 뷰그룹과의 상대적 위치를 나타내는 속성과 자식뷰들간의 상대적 위치를 나타내는 속성으로 이루어져있습니다.

RelativeLayout은 중첩된 뷰 그룹을 없애고 레이아웃 계층 구조를 평면으로 유지하여 성능을 개선하므로 사용자 인터페이스 설계에 매우 유용한 유틸리티입니다.

여러 개의 중첩된 LinearLayout 그룹을 사용한다면 단일 RelativeLayout으로 대체할 수 있습니다.

 

RelativeLayout  속성

1) 부모 뷰그룹과의 정렬을 위한 속성

   속성값으로 true 또는 false가 사용됩니다. (ex, layout_alignParentLeft="true")

  1. layout_alignParentLeft : 해당 뷰와 부모 뷰그룹의 왼쪽이 일치되도록 정렬합니다. 
  2. layout_alignParentRight : 해당 뷰와 부모 뷰그룹의 오른쪽이 일치되도록 정렬합니다. 
  3. layout_alignParentTop : 해당 뷰와 부모 뷰그룹의 위쪽이 일치되도록 정렬합니다. 
  4. layout_alignParentBottom : 해당 뷰와 부모 뷰그룹의 아래쪽이 일치되도록 정렬합니다. 
  5. layout_centerInParent : 부모 뷰그룹의 정중앙에 위치시킵니다.
  6. layout_centerHorizontal : 부모 뷰그룹의 수평방향 중앙에 위치시킵니다. 
  7. layout_centerVertical : 부모 뷰그룹의 수직방향 중앙에 위치시킵니다. 

2) 자식뷰들과의 정렬을 위한 속성

   속성값으로 지정뷰의 id값이 사용됩니다. (ex, layout_alignLeft="+id/textView1")   

  1. layout_alignLeft : 지정된 뷰와 왼쪽라인을 서로 일치시킵니다 
  2. layout_alignRight : 지정된 뷰와 오른쪽라인을 서로 일치시킵니다. 
  3. layout_alignTop : 지정된 뷰와 위쪽라인을 서로 일치시킵니다. 
  4. layout_alignBottom : 지정된 뷰와 아래쪽라인을 서로 일치시킵니다. 
  5. layout_alignBaseline : 지정된 뷰와 텍스트 라인이 서로 일치되도록 정렬합니다. 
  6. layout_toLeftOf : 지정된 뷰의 왼쪽라인 왼쪽옆에 배치합니다.  
  7. layout_toRightOf : 지정된 뷰의 오른쪽라인 오른쪽옆에 배치합니다.  
  8. layout_above : 지정된 뷰의 위쪽라인 위에 배치합니다.  
  9. layout_below : 지정된 뷰의 아래쪽라인 아래에 배치합니다.  

출처: https://kadosholy.tistory.com/129 [KADOSHoly:티스토리]

 

직접 구현해보기

fragment_five.xml

1                                                                                                          2

FiveFragment.java

 

실행화면

'App > Layout' 카테고리의 다른 글

TableLayout  (0) 2023.12.28
ConstraintLayout(계산기 모양 만들어보기)  (0) 2023.12.27
FrameLayout  (0) 2023.12.27
LinearLayout  (0) 2023.12.27
페이지 연결(버튼)  (0) 2023.12.27