안녕하세요. 제임스 입니다.
최근에 안드로이드 레이아웃에 대한 정리를 하고 있는데요.
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)' 카테고리의 다른 글
[ 안드로이드 개발 ] AAPT2 error 발생 원인 및 해결방법 (501) | 2018.03.09 |
---|---|
[ 안드로이드 개발팁 ] ListView 스크롤을 부드럽게 만들기 (462) | 2018.03.08 |
[ 안드로이드 코딩_020 ] 안드로이드 레이아웃 TableLayout (4) | 2017.10.16 |
[ 안드로이드 코딩_018 ] 안드로이드 레이아웃 RelativeLayout (4) | 2017.10.12 |
안드로이드 DP, SP, PX (4) | 2017.10.10 |