Programming/Android

[UMC 3rd/Android] 주요 Layout

코딩뽀시래기 2022. 9. 28. 17:37
728x90

1️⃣ LinearLayout

- 화면을 가로 또는 세로 방향으로 나열할 때 사용 (Horizontal, Vertical)

- 자식(view, 위젯)들은 오직 한 방향으로만 배치됨.

- 서로 중첩되지 않고 지정한 방향으로 쌓임.

- Layout Weight(가중치) 설정이 가능함. 전체 영역 대비 비율의 개념으로 가중치를 설정하여, Weight 값이 큰 View일수록 화면에서 더 많은 영역을 차지함.

 

2️⃣ RelativeLayout

- 어떤 View와의 상대적인 위치를 지정

- 자식들에게 상대적 배치 기준을 지정하지 않는다면 내부에 중첩되어 표시됨.

 

3️⃣ FrameLayout

- 여러 View 위젯을 자식으로 추가하면, 겹쳐진 형태로 표시됨.

- 가장 최근에 추가된 View가 가장 상위(top)에 표시됨.

- 이런 특성을 이용하여, 가장 상위의 View만 표시하고 나머지는 보이지 않게 만듦으로써 하나의 자식만 표시함.

 

4️⃣ TableLayout

- View를 테이블 형식으로 나누어 표시함.

- 행과 열로 구성.

- View 위젯을 추가하려면 먼저 TableRow 클래스를 사용해서 하나의 행을 추가해야 함.

- 추가된 행에 View를 추가하면 테이블 형태로 정렬되어 표시됨.

- 전체 열(Column)의 개수는 TableRow 중 가장 많은 열의 개수를 기준으로 맞춰짐.

 

5️⃣ GridLayout

- 2차원의 행과 열로 구성

- TableLayout과 유사하게 보이지만 자식 View를 순서대로 배치한다는 점에서 LinearLayout과 유사한 점이 더 많음

 

6️⃣ ConstaintLayout

- 평평한 구조를 가짐

- 구성할 때 자식들에 여러 제약을 적용해서, View의 위치와 크기를 유연하게 조절할 수 있음.

- View의 연결점과 대상을 어디에 연결하느냐에 따라 위치가 결정됨.

- Margins(여백), Centering positioning(중앙 배치), Visibility behavior(가시성에 기반한 동작), Dimension constraints(치수 제약), Chains(일련 관계), Virtual Helpers objects(가상 지원 객체)의 제약을 적용할 수 있음.

728x90