[TIL] 2023. 12. 18

Gahyeon Lee·2023년 12월 18일
0

TIL

목록 보기
28/47

😵 레이아웃(Layout)

1. 레이아웃이란?

ViewGroup의 파생 클래스로서, 포함 된 View를 정렬하는 기능

2. 레이아웃의 종류

▶️ Linear Layout

  • 컨테이너에 포함 된 뷰들을 수평 또는 수직으로 일렬 배치하는 레이아웃
  • 자식 뷰를 수평,수직으로 일렬 배치하는 레이아웃으로, 가장 단순하고 직관적이며 사용빈도가 높다.
  • LinearLayout의 자식(Children)으로 배치되는 View위젯들은 오직 한 방향 (가로 또는세로)으로만 배치
  • 위젯의 크기(높이 또는 너비)와 관계없이 한 줄로만 배열
  • 아래 그림과 같이 가로 방향으로 배치 될 때는 가로로 한 줄(onlyonerow)
  • 세로 방향으로 배치될 때는 세로로 한 줄(onlyonecolumn)로 표시
  • LinearLayout의 자식들은 중첩(overrap)되지 않고,지정한 방향으로 쌓이는(stacked)형태로 표시
  • LayoutWeight
    • LinearLayout은 자식(Children)들이 배치 될 때,전체 영역 대비 비율의개념으로지정할수있는Weight(가중치)를 설정
      ex) 전체 크기를 10으로 본다면, 첫 번째 View위젯은 3, 두 번째View위젯은7의영역을차지하도록 만듦

▶️ Relative Layout

  • 뷰를 서로 간의 위치 관계나 컨테이너와의 위치 관계를 지정하여 배치하는 레이아웃
  • RelativeLayout은 자식(Children)View위젯들이 서로 간의 상대적 배치 관계에 따라 화면에 표시 될 위치가 결정되도록 만들어주는Layout클래스
    ex) "A를 화면에 표시하고 B는A의 오른쪽에 표시”,"C를 첫번째 자식으로 두고 D가 C아래에 위치하도록 배치”
  • View위젯들을 포함하는 Relative Layout(View위젯 입장에서는 부모(Parent))자체가 상대적 위치의 기준점으로 사용될 수도 있다.
  • 만약 RelativeLayout의 자식(Children)들에 "상대적인"배치 기준을 지정하지 않는다면, RelativeLayout내부에서 중첩되어 표시된다.
  • 주요 속성

▶️ Table Layout

  • 표 형식으로 차일드를 배치하는 레이아웃

▶️ Frame Layout

  • 컨테이너에 포함된 뷰들을 전부 좌상단에 배치하는 레이아웃

▶️ Constraint Layout

  • 제약 조건을 사용해 화면을 구성하는 방법
profile
코린이 강아지 집사🐶

0개의 댓글