인스타그램을 이용하면서 처음 들었던 생각은 'RecyclerView 의 Item 에 ViewPager 가 들었겠구나.' 라고 생각을 했었다. 끝없이 내려가는 스크롤, 한 Item 에 포함된 여러 장의 사진들..
그러다 문득, RecyclerView 안에 RecyclerView 를 넣은 소스코드를 보게 되었고, 이를 인스타그램과 연관지어 생각해보았다. 하지만 Item 을 하나씩 볼 순 없었다.
진짜 있었다.
단 두 줄.
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
어이가 없을 정도로 간단하게 구현이 가능했다.
구현 결과
물론, item layout 의 height 속성을 match_parent 로 설정하면 비슷하게 설정이 가능하지만,
한 장씩 넘어가는 느낌을 주지 못하기 때문에, Fragment 를 item 으로 가진 ViewPager 를 쓰거나,
해당 방식을 사용하여야 한다.
ViewPager 에 동적으로 Fragment 를 추가하는 방식은 손이 많이 가기 때문에, 인스타그램과 같은 이미지 페이저 느낌을 주고싶다면, SnapHelper Class 를 사용하는 것이 최선일 것이다.