/NestedRecyclerView

Nested RecyclerView example project. (with MVP, RxAndroid pattern)

Primary LanguageJava

NestedRecyclerView

Nested RecyclerView example project.

1. Description

  • Header, Body, Footer 로 이루어진 Multiple ViewType holder pattern과 GridLayoutManager를 등록한 RecyclerView 의 구현 예 프로젝트.
  • Header : 없어도 상관 없으며 최 상단에서 등장. 예제에서는 Infinite loop ViewPager를 가지고 있으며 내부에서 또 Fragment들을 관리 한다.
  • Section Header : 없어도 상관 없으며 예제에서는 텍스트 뷰 하나만 존재 한다.
  • Full width Body : Span 2의 full width를 사용 하는 1 Body row.
  • Half width Body : Span 1의 half width를 사용 하는 1 Body row/column.
  • Footer : 없어도 상관 없으며 ViewType에 대응 하는 데이터 타입을 구성 해야 한다.
  • LoadMore : getItem(int position)했을 경우 결과가 -1이라면 load more footer를 설정 하고 보여 준다.
  • RecyclerView의 Item을 터치 했을 경우 상세 화면으로 이동 하는데 이 때 ActivityOptionsCompat을 활용 한 Material Design의 동일한 Transition name이 태깅된 뷰들의 shared elements Transition effect를 지원 한다.
  • startActivity_DetailContents() methods
  • .../values-21/styles.xml 참고

2. Used modules

  1. Generic data type re-usable RecyclerView Adapter
  2. Infinite loop ViewPager, ViewPager Indicator
  3. MVP pattern, RecyclerView-CardView, RxAndroid, Picasso

3. Todo

  • Header에 sliding ViewPager, ViewPager indicator 적용.
  • Body에 Nested RecyclerView(Horizontal, CardView)적용.
  • apply static Bodys.
  • apply ItemDecorations.
  • enable Load Morepattern. link, Adapter methods
  • apply Empty View.
  • enable Snappy Horizontal RecyclerView scroll(fling). 참고
  • apply Material Design Shared view Transition effect.
  • bitmap image chache. (Memory cache, Disk cache)
  • snappy items (example like Section Header)
  • add disconnected by internet view.

4. Screenshot images

image 01 image 02 image 03 image 04

5. guide

  1. MVP / Parent classes
  2. MVP / VIEW / MainActivity
  3. MVP / Presenter / MainActivityPresenter
  4. MVP / Model / model packaged
  5. Grid RecyclerView
  6. Grid RecyclerView / Adapter / Grid LayoutManager / Item Decoration
  7. SwRecyclerView / Observable Data changed RecyclerView / Generic data type Adapter / Snappy item classes
  8. ViewPager / classes / Indicator / Implement Header of Main RecyclerView
  9. Sub Horizontal RecyclerView Implement / Adapter / Item decoration
  10. Resume or Pause asyncronous image load by RecyclerView scroll state / Implements
  11. DetailActivity with Shared item views.

guide image