티스토리 뷰

Android/UI

GridView (1)

parkho79 2021. 1. 7. 09:36
728x90



지난 포스팅에는 ListView 에 대해 시리즈로 알아보았다.

이번 포스팅에서는 ListView 와 비슷하지만 list 형태가 아닌 grid 형태로 아이템을 배치하는 GridView 에 대해 알아보려 한다.



GridView

public class GridView
extends AbsListView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.AdapterView<android.widget.ListAdapter>
         ↳ android.widget.AbsListView
           ↳ android.widget.GridView

 


GridView 는 아이템들을 단순히 한 줄이 아닌 여러 개의 행과 열로 배치한다.

GridView 도 ListView 처럼 자체 스크롤을 내장하고 있어 ScrollView 를 포함할 필요가 없다.



Attributes

◼ id

id 는 해당 GridView 를 유일하게 식별할 수 있는 속성이다.



◼ numColumns

Gird 행에 나열할 컬럼의 개수 지정.

 - Integer : 1~n 개

 - auto_fit : 화면에 맞게 자동으로 컬럼 개수 정해짐.

 

[numColumns="auto_fit"] [numColumns="4"]



◼ horizontalSpacing

Grid item 간 좌우 간격 설정

 



◼ verticalSpacing

Grid item 간 상하 간격 설정

 



◼ columnWidth

열의 너비 설정

 



◼ stretchMode

numColumns를 'auto-fit'로 설정했을 경우 남는 좌우 공간을 어떻게 분배할지 결정한다.

 - none : stretchMode 사용 안 함.

 

 

 - columnWidth : 남은 공간이 컬럼에 골고루 할당.

 

 

 - spacingWidth : 컬럼에 여백으로 남은 공간을 골고루 할당.

 



GridView 에 image 추가하기

GridView 에 image + text 를 출력하자.

[Android/UI] - GridView (2) - GridView 에 image + text 출력하기



GridView item 의 click 처리하기

GridView item click or long click 시 처리를 추가하자.

[Android/UI] - GridView (3) - GridView item 의 click 처리하기



GridView item click 시 menu 출력하기

GridView item click 시 context menu 를 출력하자.

[Android/UI] - GridView (4) - GridView item click 시 context menu 출력하기

[Android/UI] - GridView (5) - GridView item long click 시 popup menu 출력하기



GridView item 추가, 수정, 삭제

GridView item 을 동적으로 추가, 수정, 삭제하는 방법에 대해 알아보자.

[Android/UI] - GridView (6) - GridView item 추가, 수정, 삭제



GridView 에 header, footer 달기

GridView 에 header, footer 을 추가하는 방법에 대해 알아보자.

[Android/UI] - GridView (7) - GridView 에 header, footer 달기



728x90
댓글