# InfiniteCycleViewPager
**Repository Path**: me_angle/InfiniteCycleViewPager
## Basic Information
- **Project Name**: InfiniteCycleViewPager
- **Description**: Infinite cycle ViewPager with two-way orientation and interactive effect.
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-10-14
- **Last Updated**: 2024-05-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
InfiniteCycleViewPager
======================
Infinite cycle ViewPager with two-way orientation and interactive effect.
[](http://devlight.com.ua)
[](http://android-arsenal.com/details/1/4207)
[](https://github.com/DevLight-Mobile-Agency)
[](https://bintray.com/gigamole/maven/infinitecycleviewpager/_latestVersion)
[](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/blob/master/LICENSE.txt)
[](https://www.codacy.com/app/gigamole53/InfiniteCycleViewPager?utm_source=github.com&utm_medium=referral&utm_content=DevLight-Mobile-Agency/InfiniteCycleViewPager&utm_campaign=Badge_Grade)
| | | |
|:-: |:-: |:-: |
||
U can check the sample app [here](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/tree/master/app).
Download
------------
You can download a `.aar` from GitHub's [releases page](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/releases).
Or use Gradle:
```groovy
compile 'com.github.devlight:infinitecycleviewpager:1.0.0'
```
Or Maven:
```groovy
com.github.devlight
infinitecycleviewpager
1.0.0
pom
```
Or Ivy:
```groovy
```
Android SDK Version
=========
`InfiniteCycleViewPager` requires a minimum SDK version of 11.
Sample
========
Parameters
For `InfiniteCycleViewPager` you can set such parameters as:
- min scale:
allows you to set the minimum scale of left and right bottom pages.
- max scale:
allows you to set the maximum scale of center top page.
- min scale offset:
allows you to set offset from edge to minimum scaled pages.
- center scale offset:
allows you to set offset from center when two pages appears.
- model selected icon:
allows you to set selected icon when current model is active.
- medium scaled:
allows you to set is scaling would be min -> max or min -> medium -> max.
- scroll duration:
allows you to set snap scrolling duration.
- scroll interpolator:
allows you to set snap scrolling interpolator.
- page transform listener:
allows you to set page transform listener.
Tips
Two-way widget need a lot of memory.
Infinite scroll available when item count more then 2.
You can set vertical or horizontal infinite cycle ViewPager.
Init
Check out in code init:
```java
// final VerticalInfiniteCycleViewPager infiniteCycleViewPager =
// (VerticalInfiniteCycleViewPager) view.findViewById(R.id.vicvp);
final HorizontalInfiniteCycleViewPager infiniteCycleViewPager =
(HorizontalInfiniteCycleViewPager) view.findViewById(R.id.hicvp);
infiniteCycleViewPager.setAdapter(...);
infiniteCycleViewPager.setScrollDuration(500);
infiniteCycleViewPager.setInterpolator(...);
infiniteCycleViewPager.setMediumScaled(true);
infiniteCycleViewPager.setMaxPageScale(0.8F);
infiniteCycleViewPager.setMinPageScale(0.5F);
infiniteCycleViewPager.setCenterPageScaleOffset(30.0F);
infiniteCycleViewPager.setMinPageScaleOffset(5.0F);
infiniteCycleViewPager.setOnInfiniteCyclePageTransformListener(...);
```
If you want to get item position just call this method:
```java
infiniteCycleViewPager.getRealItem();
```
To update your ViewPager after some adapter update or else, you can call this method:
```java
infiniteCycleViewPager.notifyDataSetChanged();
```
Other methods check out in sample.
And XML init:
```xml
```
Getting Help
======
To report a specific problem or feature request, [open a new issue on Github](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/issues/new).
License
======
Apache 2.0 and MIT. See [LICENSE](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/blob/master/LICENSE.txt) file for details.
Inspiration
===========
| | |
|:-: |:-: |
|
Author
=======
Made in [DevLight Mobile Agency](https://github.com/DevLight-Mobile-Agency)
Created by [Basil Miller](https://github.com/GIGAMOLE) - [@gigamole](mailto:gigamole53@gmail.com)
Support
=======
If you'd like to support future development and new product features, please make a payments on Gratipay and Beerpay or become a patron on Patreon.
[](https://gratipay.com/~GIGAMOLE/)
[](https://beerpay.io/DevLight-Mobile-Agency/InfiniteCycleViewPager)
[](https://www.patreon.com/gigamole)
Also, if you use this library in applications that are available on Google Play, please report it to us or author.
Thanks in advance.