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


최근에 안드로이드 레이아웃에 대한 정리를 하고 있는데요. 

GridLayout 에 대한 내용 정리한 것이 있어 이와 관련하여 GridView 와의 차이점에 해대 정리 해보고자 합니다. 


이름만 보면 참 비슷합니다. 

Grid 라는 공통점이 있으니 실제로 비슷한 기능을 할 것이라는 것 정도는 예상 가능합니다. 

하나는 layout 이고 다른 하나는 view 라고 합니다. 

뭐가 다른 걸까요? 





■ GridView VS GirdLayout 


GirdView 는 2차원 스크롤 격자의 항목을 표시하는 ViewGroup 입니다. 그리드(격자)내 항목들은 해당 뷰와 관련된 ListAdapter 에서 가져 옵니다. 

GirdView 는 ListAdapter 에서 데이터를 가져오므로 메모리에 로드된 데이터만 화면에 표시합니다. GridView 는 ListView 와 같이 더 나은 성능을 위해 자신의 뷰를 재사용하고 재활용합니다. 



GridLayout 은 2차원 격자 무늬 형태의 레이아웃으로 수직, 수평의 라인으로 구성되어 행과 열의 집합 형태로 만들어 지는 레이아웃입니다. 

그리드 라인은 인덱스 (index) 로 참조 되며 좌상단에서 부터 0, 0 좌료값으로 시작하게 됩니다. 

GridLayout 은 안드로이드 API Level 14 에 추가된 레이아웃으로 LinearLayout 과 RelativeLayout 등 다른 레이아웃들의 정렬과 성능문제라는 단점을 보완하기 위해 만들진 레이아웃입니다. 


GridView 와 GridLayout 에 대한 내용을 정리 했는데요. 그럼 차이점을 구체적으로 정리 해보겠습니다. 


1. 화면 스크롤이 가능한가?

GridView (0) / GridLayout (X)

GridView 는 수직방향으로 View 가 넘쳐날 경우 자동 스크롤이 됩니다. 

하지만 GridLayout 은 자동 스크롤이 되지 않습니다. 즉, ScrollView 로 GridLayout 을 감싸지 않는 이상 뷰가 화면 밖으로 나가더라도 스크롤은 불가 합니다. (ScrollView에 대한 내용은 차후 다루도록 하겠습니다.)


2.  Adapter 를 이용하여 데이터를 가져 오는가? 

GridView (0) / GridLayout (X)

GridView 는 화면 구성 시 adapter 를 통하여 데이터를 가져 옵니다. 즉, adapter 를 통하지 않고 다른 데이터를 입력 할 수는 없습니다. 

반대로 GridLayout 은 화면 구조를 정의 하는 것일 뿐 사용자 인터페이스를 구성하는 것은 모두 개발자가 직접 입력을 해야 합니다. 


이상 GridView 와 GridLayout 의 차이점에 대해 정리해봤습니다. 


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

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

감사합니다 :D



블로그 이미지

쉬운코딩이최고

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

,