MW LAB
ViewPager 무한 스크롤 본문
기본 ViewPager 를 사용시, 0->1->2->3 순서로 스와이핑 할수 있다. 3이나 0에서 좌측,우측으로 스와이핑시 페이지 전환이 불가능하다.
이를 해결하기 위해 https://github.com/antonyt/InfiniteViewPager 라이브러리를 이용한다.
build.gradle : Project
1 2 3 | repositories { maven { url 'https://jitpack.io' } } | cs |
build.gradle : Module
1 2 3 | dependencies { compile 'com.github.antonyt:InfiniteViewPager:v1.0.0' } | cs |
적용해준 뒤
activity_main.xml
1 2 3 4 5 | <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> | cs |
1 2 3 4 5 | <com.antonyt.infiniteviewpager.InfiniteViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent"> </com.antonyt.infiniteviewpager.InfiniteViewPager> | cs |
그리고 기존 FragmentAdapter 를 InfinitePagerAdapter 로 전환시켜줘야대는데 라이브러리에서 이를 지원해준다.
MainActivity
1 2 3 4 5 | FragmentAdapter fragmentAdapter= new FragmentAdapter(getLayoutInflater(),4); InfinitePagerAdapter adapter = new InfinitePagerAdapter(fragmentAdapter); // FragmentAdapter 를 InfinitePagerAdapter로 변환 pager.setAdapter(adapter); // FragmentAdapter 대신 InfinitePagerAdapter 를 Adapter 로 설정 | cs |
ViewPager 의 동작방식 때문에, 4개 이상의 Fragment 들이 존재할 때만, 정상적으로 작동한다.
테스트 결과, 4개 미만시에 0->1->2 순서로 되어있을 경우 2->0 으로 가는 것은 동작을 하나 0->2 로 가는 경우 동작을 하지 않는다.
'Study > Android' 카테고리의 다른 글
안드로이드 실시간 위치추적 개발 (2) | 2017.10.07 |
---|---|
테두리가 있는 형태 xml 만들기 (0) | 2017.01.22 |
ViewPager 을 이용한 Fragment 전환 및 스크롤 (0) | 2016.12.07 |
Gradle 환경 카카오톡 SDK 사용 (0) | 2016.11.30 |
APK 파일 디컴파일 (0) | 2016.11.30 |
Comments