'안드로이드 레이아웃 종류'에 해당되는 글 1건

안녕하세요. 제임스 입니다. 


이번에는 안드로이드 레이아웃의 죵류와 속성에 대한 내용을 정리 해보겠습니다. 




일전에 View 와 ViewGroup 에 대해 간단히 정리를 했는데요. 


얼핏 보기에는 ViewGrop 이 View 보다 상위 객체 같이 보여 지지만 실제로는 View 가 ViewGroup 의 상위입니다. 


ava.lang.Object

↳ android.view.View

↳ android.view.ViewGroup


ViewGroup 은 View 를 상속받고, View 는 java 의 Object 를 상속 받습니다. 

참고 해주세요 :)



■ 안드로이드 레이아웃 종류


안드로이드에는 여러 종류의 레이아웃이 제공되고 있습니다. 

이 레이아웃들은 모두 ViewGroup 의 서브 클라스로 ViewGroup 을 상속받고 있습니다. 


1. Linear Layout

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.LinearLayout


리니어 레이아웃은 수직 또는 수평의 한방향으로 자식 뷰를 배치하는 형태 입니다. 각 자식뷰에 가중치(weight)를 설정하여 해당 자식뷰가 다른 자식뷰에 비해 얼마나 많은 레이아웃 공간을 차지할 것인가를 결정합니다. 


2. Relative Layout

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.RelativeLayout


자식 뷰들을 상대적인 위치 정보를 설정하여 배치 시키는 형태 입니다. Linear Layout 과 함께 가장 많이 사용되어지고 있는 레이아웃 형태 입니다. 


3. Table Layout

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.LinearLayout

↳ android.widget.TableLayout


자식 뷰들을 격자형태의 행과 열로 배치 하는 형태 입니다. HTML 의 table tag 와 비슷한 형태라고 생각 하시면 됩니다. 


4. Absolute Layout

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.AbsoluteLayout


모든 뷰를 특정 XY 좌표에 위치하게 하는 형태 입니다. 화면 크기나 방향 변화 (Landscape - 가로모드 / Portrait - 세로모드) 에 대응하지 못하므로 잘 사용하지 않습니다. (저는 개발 중에 단 한번도 사용한 적이 없습니다 ^^)


5. Frame Layout

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.FrameLayout


하나의 뷰를 보여주기 위해 화면 영역을 할당하는 형태 입니다. 뷰는 레이아웃 영역의 좌상단을 기준으로 생성 되므로 여러개의 뷰가 있을 경우 모두 좌상단으로 모여 있어 가장 마지막에 생성한 레이아웃만 제대로 보입니다. 이때는 gravity 를 적용하여 위치를 변경할 수 있습니다. 


6. List View

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.AdapterView<android.widget.ListAdapter>

↳ android.widget.AbsListView

↳ android.widget.ListView


스크롤 가능한 아이템들의 목록을 보여주는 형태로 휴대폰의 전화번호부의 이름 / 전화번호 목록이 바로 리스트뷰 입니다. 


7. Grid View

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.AdapterView<android.widget.ListAdapter>

↳ android.widget.AbsListView

↳ android.widget.GridView


스크롤 가능한 격자형태의 2차원 평면에 아이템을 배치하는 형태 입니다. 포토 갤러리 구성에 가장 많이 사용 되는 뷰입니다. 


8. Scroll View

java.lang.Object

↳ android.view.View

↳ android.view.ViewGroup

↳ android.widget.FrameLayout

↳ android.widget.ScrollView


부모 뷰 (Scroll View) 안의 아이템을 스크롤 시켜 주는 형태 입니다.




실제 1, 2 번 Linear Layout 과 Relative Layout 그리고 6 번 List View  이렇게 세가지를 가장 많이 사용하고 있습니다. 

거의 모든 레이아웃은 Linear Layout 한가지 또는 Relative Layout 한가지 만으로 구현이 가능합니다. 

심지어 List View 처럼 스크롤 처리가 되어야 하는 경우는 Scroll View 안에 Linear Layout 이나 Relative Layout 을 추가 해주면 됩니다. 

물론 퍼포먼스 측면에서 보면 위와 같이 처리 하는 것 보다는 ListView 위젯을 사용하는게 훨~~~씬 더 편리하고 효율도 좋습니다. ^^;

그 이유는 이후에 ListView 관련 포스팅 내용을 보시면 짐작 하실 수 있도록 준비 하겠습니다. 


이번에는 레이아웃의 종류에 대해 정리 해봤습니다.

다음 포스팅에서는 레이아웃들의 예제를 이용하여 이해하기 쉽게 정리 해보겠습니다. 


 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,