티스토리 뷰
300x250
|
300x250
|
이번 포스팅에서는 GridView 에 header 와 footer 를 추가할 것이다.
GridView 에 header, footer 를 추가하면 하단 그림과 같이 화면 상단과 하단에 별도의 view 를 지정할 수 있다.
추가한 header, footer 는 grid item 에 상관없이 항상 고정으로 출력된다.
참고로, 지난 포스팅에서는 GlidView 에 text + image 목록 출력, click 처리, menu 출력, Item 삽입, 수정, 삭제 하는 방법에 대해 알아 보았다.
[Android/UI] - GridView (2) - GridView 에 image + text 출력하기
[Android/UI] - GridView (3) - GridView item 의 click 처리하기
[Android/UI] - GridView (4) - GridView item click 시 context menu 출력하기
[Android/UI] - GridView (5) - GridView item long click 시 popup menu 출력하기
[Android/UI] - GridView (6) - GridView item 추가, 수정, 삭제
Library 추가
ListView 의 경우 addHeaderView, addFooterView 를 지원하여 간단히 구현할 수 있다.
[Android/UI] - ListView (8) - ListView 에 header, footer 달기
아쉽게도 GridView 는 해당 API 를 지원하지 않는다.
하지만, 하단과 같은 유사한 library 가 있다.
이번 포스팅 에서는 해당 library 를 이용하여 hedaer, footer 를 추가할 것이다.
◼ Gradle dependency 추가
Header & footer layout resource 추가
Header, footer 에 사용될 view layout resource 를 추가하자.
GridView 에 header & footer 추가
새로 생성한 layout resource 를 inflate 하여 'addHedaerView()', 'addFooterView()' 를 통해 추가하자.
Android 에서 제공하는 GridView widget 에는 'addHedaerView()', 'addFooterView()' 가 없지만 'GridViewWithHeaderAndFooter' library 를 추가하면 ListView 처럼 똑같은 방식으로 추가할 수 있다.
Header & footer 가 추가된 GridView 의 click event 처리
Hedaer & footer 가 추가 후 ListView 에서는 header, footer 구분을 위해 getItemAtPosition 을 썼다.
'GridViewWithHeaderAndFooter' library 에서는 해당 API 가 ListView 처럼 동작하지 않아 아래와 같이 직접 header, footer view 에 click event listener 를 등록했다.
Source code
https://github.com/parkho79/GridView_6
'Android > UI' 카테고리의 다른 글
RecyclerView (2) - RecyclerView 에 image + text 출력하기 (0) | 2021.02.17 |
---|---|
RecyclerView (1) (0) | 2021.02.17 |
GridView (6) - GridView item 추가, 수정, 삭제 (0) | 2021.02.17 |
GridView (5) - GridView item long click 시 popup menu 출력하기 (0) | 2021.02.17 |
GridView (4) - GridView item click 시 context menu 출력하기 (0) | 2021.02.15 |
- Total
- Today
- Yesterday
- 앱테크
- task 생성
- 앱테크 추천
- 무료 채굴
- Intent
- task
- Android Service
- 안드로이드 서비스
- registerForContextMenu
- 안드로이드 인텐트
- mPANDO
- android activity flag
- notifyDataSetChanged
- android intent
- M2E
- p2e
- StartService
- 리워드앱
- onContextItemSelected
- BroadcastReceiver
- android task
- android flag activity
- 무료채굴
- WEMIX
- bindservice
- RoomDatabase
- StringUtils
- onCreateContextMenu
- 채굴앱
- 리워드 어플
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |