{"id":13641575,"url":"https://github.com/Devlight/InfiniteCycleViewPager","last_synced_at":"2025-04-20T11:31:13.730Z","repository":{"id":41081556,"uuid":"66252037","full_name":"Devlight/InfiniteCycleViewPager","owner":"Devlight","description":"Infinite cycle ViewPager with two-way orientation and interactive effect.","archived":false,"fork":false,"pushed_at":"2022-08-09T20:20:47.000Z","size":279,"stargazers_count":5748,"open_issues_count":57,"forks_count":830,"subscribers_count":154,"default_branch":"master","last_synced_at":"2024-10-29T15:33:21.266Z","etag":null,"topics":["android","cards","cycle","devlight","infinite-scroll","library","ui","viewpager"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devlight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-22T08:04:39.000Z","updated_at":"2024-10-14T03:47:01.000Z","dependencies_parsed_at":"2022-07-14T23:17:01.252Z","dependency_job_id":null,"html_url":"https://github.com/Devlight/InfiniteCycleViewPager","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlight%2FInfiniteCycleViewPager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlight%2FInfiniteCycleViewPager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlight%2FInfiniteCycleViewPager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlight%2FInfiniteCycleViewPager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devlight","download_url":"https://codeload.github.com/Devlight/InfiniteCycleViewPager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223823345,"owners_count":17208946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cards","cycle","devlight","infinite-scroll","library","ui","viewpager"],"created_at":"2024-08-02T01:01:21.919Z","updated_at":"2024-11-09T12:30:27.874Z","avatar_url":"https://github.com/Devlight.png","language":"Java","readme":"\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://devlight.io\"\u003e\n      \u003cimg src =\"https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScLVBKck51Z1Rzb0E\" alt=\"Devlight\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\nInfiniteCycleViewPager\n======================\n\nInfinite cycle ViewPager with two-way orientation and interactive effect.\n\n[![Android Arsenal](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScbldGMXh5VjBjZEE)](http://android-arsenal.com/details/1/4207)\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[![Android](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wSccEZaclNGN0R5OWc)](https://github.com/DevLight-Mobile-Agency)\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[![Download](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScTkFkZk1UdEN3MHM)](https://bintray.com/gigamole/maven/infinitecycleviewpager/_latestVersion)\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[![License](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScU0tmeFpGMHVWNWs)](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/blob/master/LICENSE.txt)\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[![Codacy](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScSHhmckZyeGJDcXc)](https://www.codacy.com/app/gigamole53/InfiniteCycleViewPager?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=DevLight-Mobile-Agency/InfiniteCycleViewPager\u0026amp;utm_campaign=Badge_Grade)\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScS0hwRTZUaG16Znc\"/\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScNmRmWXAzRmRwNHM\"/\u003e\n\u003c/p\u003e\n\nU can check the sample app [here](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/tree/master/app).\n\nWarn\n====\n```\nThis library is not more supported. \nIf you want to add new feature or fix a bug, grab source code and do it. \nIf you think your fix or feature would be useful to other developers, \nI can add link of your repository to this README file. \nThank you for using our libraries.\n```\n\nDownload\n========\n\nYou can download a `.aar` from GitHub's [releases page](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/releases).\n\nOr use Gradle:\n\n```groovy\ncompile 'com.github.devlight:infinitecycleviewpager:1.0.2'\n```\n\nOr Maven:\n\n```groovy\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.github.devlight\u003c/groupId\u003e\n  \u003cartifactId\u003einfinitecycleviewpager\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.2\u003c/version\u003e\n  \u003ctype\u003epom\u003c/type\u003e\n\u003c/dependency\u003e\n```\n\nOr Ivy:\n\n```groovy\n\u003cdependency org='com.github.devlight' name='infinitecycleviewpager' rev='1.0.2'\u003e\n  \u003cartifact name='$AID' ext='pom'\u003e\u003c/artifact\u003e\n\u003c/dependency\u003e\n```\n\nAndroid SDK Version\n===================\n\n`InfiniteCycleViewPager` requires a minimum SDK version of 11. \n\nSample\n======\n\n\u003cb\u003eParameters\u003c/b\u003e\n\nFor `InfiniteCycleViewPager` you can set such parameters as:\n \n - min scale:  \n     allows you to set the minimum scale of left and right bottom pages.\n    \n - max scale:  \n     allows you to set the maximum scale of center top page.\n    \n - min scale offset:  \n     allows you to set offset from edge to minimum scaled pages.\n         \n - center scale offset:  \n    allows you to set offset from center when two pages appears.\n\n - model selected icon:  \n     allows you to set selected icon when current model is active.\n\n - medium scaled:  \n     allows you to set is scaling would be min -\u003e max or min -\u003e medium -\u003e max.\n    \n - scroll duration:  \n     allows you to set snap scrolling duration.\n     \n - scroll interpolator:  \n     allows you to set snap scrolling interpolator.\n    \n - page transform listener:  \n     allows you to set page transform listener.\n     \n - auto scroll:  \n     allows you to set auto scroll in positive and negative directions.\n    \n\u003cb\u003eTips\u003c/b\u003e\n\nTwo-way widget need a lot of memory.  \nInfinite scroll available when item count more then 2.  \nYou can set vertical or horizontal infinite cycle ViewPager.\n\n\u003cb\u003eInit\u003c/b\u003e\n\nCheck out in code init:\n\n```java\n//      final VerticalInfiniteCycleViewPager infiniteCycleViewPager =\n//                (VerticalInfiniteCycleViewPager) view.findViewById(R.id.vicvp);\n        final HorizontalInfiniteCycleViewPager infiniteCycleViewPager =\n                (HorizontalInfiniteCycleViewPager) view.findViewById(R.id.hicvp);\n        infiniteCycleViewPager.setAdapter(...);\n        infiniteCycleViewPager.setScrollDuration(500);\n        infiniteCycleViewPager.setInterpolator(...);\n        infiniteCycleViewPager.setMediumScaled(true);\n        infiniteCycleViewPager.setMaxPageScale(0.8F);\n        infiniteCycleViewPager.setMinPageScale(0.5F);\n        infiniteCycleViewPager.setCenterPageScaleOffset(30.0F);\n        infiniteCycleViewPager.setMinPageScaleOffset(5.0F);\n        infiniteCycleViewPager.setOnInfiniteCyclePageTransformListener(...);\n```\n\nIf you want to get item position just call this method:  \n```java\ninfiniteCycleViewPager.getRealItem();\n```\n          \nTo update your ViewPager after some adapter update or else, you can call this method:  \n```java\ninfiniteCycleViewPager.notifyDataSetChanged();\n```\n\nIf you want to start auto scroll or stop call this methods:  \n```java\n// true - positive\n// false - negative\ninfiniteCycleViewPager.startAutoScroll(...);\ninfiniteCycleViewPager.stopAutoScroll();\n```\n\nOther methods check out in sample.\n\nAnd XML init:\n\n```xml\n\n\u003c!--\u003ccom.gigamole.infinitecycleviewpager.VerticalInfiniteCycleViewPager--\u003e\n\u003ccom.gigamole.infinitecycleviewpager.HorizontalInfiniteCycleViewPager\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    app:icvp_interpolator=\"...\"\n    app:icvp_center_page_scale_offset=\"30dp\"\n    app:icvp_max_page_scale=\"0.8\"\n    app:icvp_medium_scaled=\"true\"\n    app:icvp_min_page_scale=\"0.5\"\n    app:icvp_min_page_scale_offset=\"5dp\"\n    app:icvp_scroll_duration=\"500\"/\u003e\n```\n\nGetting Help\n============\n\nTo report a specific problem or feature request, [open a new issue on Github](https://github.com/DevLight-Mobile-Agency/InfiniteCycleViewPager/issues/new).\n\nXamarin\n=======\n\nThanks to [Martijn van Dijk](https://github.com/martijn00) for developing Xamarin bindings library for [InfiniteCycleViewPager](https://github.com/martijn00/InfiniteCycleViewPagerXamarin).  \nPlugin is available on [Nuget](https://www.nuget.org/packages/Xam.Plugins.Android.InfiniteCycleViewPager/).\n\nCredits\n=======\n\n|[Yehor Kosinov](https://dribbble.com/Kosinov)|[Prakhar Neel Sharma](https://dribbble.com/prakhar)|\n|:-------------------------------------------:|:-------------------------------------------------:|\n[![](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScVEZRbk5LaFVzUzQ)](https://dribbble.com/shots/2832006-Cinema-App)|[![](https://d13yacurqjgara.cloudfront.net/users/452635/screenshots/2383427/festival.png)](https://dribbble.com/shots/2383427-Personal-Festival-App-Finally-Done)\n\nAuthor\n======\n\nCreated by [Basil Miller](https://github.com/GIGAMOLE) - [@gigamole](mailto:gigamole53@gmail.com)\n\nCompany\n=======\n\n[![Facebook](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScaGhGVFNKU0VxMnc)](https://www.facebook.com/devlightagency)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;[![Twitter](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wScZ1ExQWh5cHF5cVE)](https://twitter.com/DevLightIO)\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;[![LinkedIn](https://drive.google.com/uc?export=download\u0026id=0BxPO_UeS7wSccGZINzEycE1nVFE)](https://www.linkedin.com/company/devlight)\n\n[Here](https://github.com/DevLight-Mobile-Agency) you can see open source work developed by Devlight LLC.  \nThis and another works is an exclusive property of Devlight LLC. \n\nIf 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.\n\nWhether 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. \n\nYou can contact us via info@devlight.io or opensource@devlight.io.  \nThanks in advance.\n\nDevlight LLC, 2016  \n[devlight.io](http://devlight.io) \n\n","funding_links":[],"categories":["ViewPager","Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevlight%2FInfiniteCycleViewPager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDevlight%2FInfiniteCycleViewPager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevlight%2FInfiniteCycleViewPager/lists"}