ViewPager만들기

ViewPager2와 방식은 비슷하지만, 아직 정식 릴리즈가 나오지 않았습니다.

기존에 RecyclerView가 구현이 되어있다면 PagerSnapHelper만 추가하면 된다.

 

Indicator 추가하기

RecyclerView에는 ItemDecoration을 이용해서 Indicator를 그릴수 있습니다. 
저는 LinePagerIndicatorDecoration 참고해서 그려보았습니다.

SnapPagerScrollListener 추가하기

ViewPager와는 다르게 RecyclerView는 페이지 변경 리스너가 없으므로, 스크롤 리스너를 이용하여 페이지 변경 이벤트를 받아야합니다. SnapPagerScrollListener는 스택오버플로의 TreyWurm의 답변을 참고했습니다.

SnapPagerScrollListener 클래스를 만들었으니 이제 RecyclerView에 스크롤 리스너를 추가 해보겠습니다.

Callback이 트리거 되는 시점을 조절하는 두가지 Type이 있습니다.

  • ON_SCROLL : 스크롤이 될때 콜백을 받고 싶다면 이 타입을 사용
  • ON_SETTLED : RecyclerView의 State가 SCROLL_STATE_IDLE일때, 즉 페이지가 변경되고 완전히 멈출때 이벤콜백을 받고 싶다면 이 타입을 사용합니다.
Buy me a coffeeBuy me a coffee
카테고리: AndroidJava

답글 남기기

이메일은 공개되지 않습니다.