관리 메뉴

꿀맛코딩

Android fixed header and horizontal scroll in recyclerview (안드로이드 horizontal scroll RecyclerView) 본문

공부방/Android

Android fixed header and horizontal scroll in recyclerview (안드로이드 horizontal scroll RecyclerView)

soycrab 2019. 10. 7. 13:00

개발을 하다가 아래와 같은 테이블 구성 기능이 필요한 View 가 필요했는데 ,

대부분 TableView를 추천해 주었다. 

하지만.. 문제가 되는건 역시 성능 이슈, 

저런 튜플 데이터를 몇 백개를 보여주고, 

그게 보여질 여러 타입의 View 들중 하나라면?

 

그림 1 

 

단순하게  ScrollView 에 모든  View 들을 넣고 Scroll을 한다면

어마어마하게 버벅일 것이며, 

심할 경우 뷰가 로딩 될때까지  몇초의 시간이 걸릴수 있을 것이다. 

 

이러한 부분을 개선하기 위해서 

Observer를 이용해 그림 1 처럼 Recyclerview에 아이템들의 스크롤이

마치 한개의 스크롤 뷰처럼 동작하고, 

 

다른 Type 의 View 들을 붙여도

성능상에 이슈가 거의 없다. 

 

풀 소스 코드는 아래에서 확인 가능하다. 

https://github.com/JeonGuKang/FixHeaderHorizontalScrollRecyclerview

 

어디 까지나 참고용 이며,

30 ~40 분 정도의 시간으로 구성한 샘플이다.  

 

튜플 하나가 하나의 ViewHolder이기 때문에 

notifyItemRangeInserted, notifyItemRangeRemoved 등으로 제어하면서 

얼마든지 응용이 가능하다. 

 

ex) 만약 헤더를 없애고 좌우 스크롤, 상하 스크롤 기능만 넣고 싶다면, 레이아웃 구조만 변경해주면 된다. 

 

반응형
Comments