안녕하세요. 이번에는 안드로이드 레이아웃에 대해서 알아보겠습니다.


안드로이드에서 제공하는 기본 레이아웃은 다음과 같이 크게 다섯 가지로 나눌 수 있습니다.



레이아웃 이름 

설 명 

 리니어 레이아웃(LinearLayout)

- 박스(Box) 모델

- 사각형 영역들을 이용해 화면을 구성하는 방법

- 표준 자바의 BoxLayout과 유사 

 상대 레이아웃(RelativeLayout)

- 규칙(Rule) 기반 모델

- 부모 컨테이너나 다른 뷰와의 상대적 위치를 이용해 화면을 구성하는 방법 

 프레임 레이아웃(FrameLayout)

- 기본 단위 모델

- 하나의 뷰만 보여주는 방법

- 가장 단순하지만 여러 개의 뷰를 추가하는 경우 중첩시킬 수 있으므로 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 사용할 때 유용함 

 테이블 레이아웃(TableLayout)

- 격자(Grid) 모델

- 격자 모양의 배열을 이용하여 화면을 구성하는 방법

- HTML 에서 많이 사용하는 정렬 방식과 유사하여 실용적임 

 스크롤 뷰(ScrollView)

- 스크롤이 가능한 컨테이너

- 뷰 또는 뷰그룹이 들어갈 수 있으며 화면 영역을 넘어갈때 스크롤 기능 제공


추가로 절대 레이아웃(AbsoluteLayout) 이라는것이 있기는 한데 안드로이드 단말은 해상도나 화면 크기가 모두 달라 절대 좌표를 사용하는 경우에는 단말마다 다른 해상도를 맞추기 어렵기 때문에 더이상 지원하지 않게 되었습니다. 그냥 예전에 단말의 종류가 몇개 없을때 잠깐 사용된 적이 있다는것 정도로만 아시면 되겠습니다.


안드로이드에서 기본적으로 제공하는 레이아웃들을 사용할 때는 항상 android:layout_width와 android:layout_height 속성이 들어가야 합니다. 그 외의 다른 속성들도 필요 없으면 넣지 않을 수 있지만 위의 두 가지 속성을 넣지 않으면 오류가 발생하게 됩니다. 


다음 포스팅에서는 리니어 레이아웃에 대해서 알아보도록 하겠습니다.


Posted by 정윤문경아빠