1. http://blog.daum.net/_blog/BlogTypeView.do?blogid=0NADc&articleno=24#ajax_history_home


2. http://thehayro.blogspot.de/2012/12/enable-infinite-paging-with-android.html


3. https://github.com/antonyt/InfiniteViewPager


4. http://neoroid.tistory.com/entry/Android-ViewPager-Swiping-%EB%A7%89%EA%B8%B0-%EC%8A%A4%ED%81%AC%EB%A1%A4-%EB%A7%89%EA%B8%B0


요즘 ViewPager 에 관심이 좀 있어서 몇일동안 찾아보고 정리합니다.


1번과 2번은 ViewPager의 setCurrentItem 메소드를 이용해서 무한반복하는 방법이고

차이가 있다면 1번은 아답터의 getCount 를 9개 만들어서 가운데서 왔다리 갔다리 하는 것이고

2번은 아답터의 getCount 를 3개 만들어서 항상 가운데 페이지만 보이게 하는 방법입니다.

2번 같은 경우 에뮬에서는 별 문제가 없어보이는데

넥서스4에서 테스트해보니 페이지 이동시 깜박임이 눈에 보였습니다.

3번은 아답터의 getCount 를 Integer.MAX_VALUE(2,147,483,647) 만큼 만들어서

무한반복 하는 것처럼 보이게 하는 방법입니다.

그러나 소스에 아래와 같은 주석이 달려 있네요.

// warning: scrolling to very high values (1,000,000+) results in

// strange drawing behaviour

getCount를 100만개 이상 만들면 어찌고 저찌고......


4번은 ViewPager 의 스크롤을 막는 방법입니다.


개인적으로 3번 방법을 추천하고 싶습니다.(강요 아님)

첨부파일은 3번 방법을 응용하고 FragmentStatePagerAdapter 를 이용해서

무한반복 하는 것처럼 만든 샘플입니다.


에뮬에서도 메모리문제없이 잘 됩니다.


제목 없음.gif

profile