😵 레이아웃(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