All Projects → Devlight → Infinitecycleviewpager

Devlight / Infinitecycleviewpager

Licence: apache-2.0
Infinite cycle ViewPager with two-way orientation and interactive effect.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Infinitecycleviewpager

Concentriconboarding
Android Concentric Onboarding library
Stars: ✭ 42 (-99.27%)
Mutual labels:  library, viewpager
Liquidswipe
Android LiquidSwipe Library
Stars: ✭ 721 (-87.4%)
Mutual labels:  library, viewpager
Loopingviewpager
A ViewPager and PagerAdapter combination that support auto scroll, infinite loop and page indicators.
Stars: ✭ 310 (-94.58%)
Mutual labels:  viewpager, infinite-scroll
Google Books Android Viewer
Android library to bridge between RecyclerView and sources like web page or database. Includes demonstrator (Google Books viewer)
Stars: ✭ 37 (-99.35%)
Mutual labels:  library, infinite-scroll
Navigationtabstrip
Navigation tab strip with smooth interaction.
Stars: ✭ 2,234 (-60.94%)
Mutual labels:  library, devlight
infinite view pager
📜Infinite View Pager widget for Flutter
Stars: ✭ 26 (-99.55%)
Mutual labels:  infinite-scroll, viewpager
Navigationtabbar
Navigation tab bar with colorful interactions.
Stars: ✭ 4,907 (-14.21%)
Mutual labels:  library, devlight
Discretescrollview
A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.
Stars: ✭ 5,533 (-3.27%)
Mutual labels:  viewpager
Angular Pipes
Useful pipes for Angular
Stars: ✭ 652 (-88.6%)
Mutual labels:  library
Expanding Collection
ExpandingCollection is an animated material design UI card peek/pop controller. iOS library made by @Ramotion
Stars: ✭ 5,456 (-4.62%)
Mutual labels:  library
Pbf
A low-level, lightweight protocol buffers implementation in JavaScript.
Stars: ✭ 618 (-89.2%)
Mutual labels:  library
Louvre
A small customizable library useful to handle an gallery image pick action built-in your app. 🌄🌠
Stars: ✭ 629 (-89%)
Mutual labels:  library
Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (-88.55%)
Mutual labels:  library
Lwan
Experimental, scalable, high performance HTTP server
Stars: ✭ 5,520 (-3.5%)
Mutual labels:  library
Nose2
The successor to nose, based on unittest2
Stars: ✭ 665 (-88.37%)
Mutual labels:  library
Stepper Touch
Stepper Touch for Android based on MaterialUp submission
Stars: ✭ 621 (-89.14%)
Mutual labels:  library
Deck
🗂 Kanban-style project & personal management tool for Nextcloud, similar to Trello
Stars: ✭ 675 (-88.2%)
Mutual labels:  cards
Cordova Plugin File
Apache Cordova Plugin file
Stars: ✭ 664 (-88.39%)
Mutual labels:  library
React Native Geolocation
Geolocation APIs for React Native
Stars: ✭ 640 (-88.81%)
Mutual labels:  library
Libgphoto2
The libgphoto2 camera access and control library.
Stars: ✭ 637 (-88.86%)
Mutual labels:  library

Devlight


InfiniteCycleViewPager

Infinite cycle ViewPager with two-way orientation and interactive effect.

Android Arsenal       Android       Download       License       Codacy


 

U can check the sample app here.

Warn

This library is not more supported. 
If you want to add new feature or fix a bug, grab source code and do it. 
If you think your fix or feature would be useful to other developers, 
I can add link of your repository to this README file. 
Thank you for using our libraries.

Download

You can download a .aar from GitHub's releases page.

Or use Gradle:

compile 'com.github.devlight:infinitecycleviewpager:1.0.2'

Or Maven:

<dependency>
  <groupId>com.github.devlight</groupId>
  <artifactId>infinitecycleviewpager</artifactId>
  <version>1.0.2</version>
  <type>pom</type>
</dependency>

Or Ivy:

<dependency org='com.github.devlight' name='infinitecycleviewpager' rev='1.0.2'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

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.

  • auto scroll:
    allows you to set auto scroll in positive and negative directions.

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:

//      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:

infiniteCycleViewPager.getRealItem();

To update your ViewPager after some adapter update or else, you can call this method:

infiniteCycleViewPager.notifyDataSetChanged();

If you want to start auto scroll or stop call this methods:

// true - positive
// false - negative
infiniteCycleViewPager.startAutoScroll(...);
infiniteCycleViewPager.stopAutoScroll();

Other methods check out in sample.

And XML init:

<!--<com.gigamole.infinitecycleviewpager.VerticalInfiniteCycleViewPager-->
<com.gigamole.infinitecycleviewpager.HorizontalInfiniteCycleViewPager
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:icvp_interpolator="..."
    app:icvp_center_page_scale_offset="30dp"
    app:icvp_max_page_scale="0.8"
    app:icvp_medium_scaled="true"
    app:icvp_min_page_scale="0.5"
    app:icvp_min_page_scale_offset="5dp"
    app:icvp_scroll_duration="500"/>

Getting Help

To report a specific problem or feature request, open a new issue on Github.

Xamarin

Thanks to Martijn van Dijk for developing Xamarin bindings library for InfiniteCycleViewPager.
Plugin is available on Nuget.

Credits

Yehor Kosinov Prakhar Neel Sharma

Author

Created by Basil Miller - @gigamole

Company

Facebook     Twitter     LinkedIn

Here you can see open source work developed by Devlight LLC.
This and another works is an exclusive property of Devlight LLC.

If you want to use this library in applications which will be available on Google Play, please report us about it or author of the library.

Whether you're searching for a new partner or trusted team for creating your new great product we are always ready to start work with you.

You can contact us via [email protected] or [email protected].
Thanks in advance.

Devlight LLC, 2016
devlight.io

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].