{"id":22737082,"url":"https://github.com/kibotu/parallaxscrollingview","last_synced_at":"2025-04-14T04:33:05.084Z","repository":{"id":152024166,"uuid":"208049577","full_name":"kibotu/ParallaxScrollingView","owner":"kibotu","description":"Parallax scrolling either by offset or automatically. ","archived":false,"fork":false,"pushed_at":"2023-11-06T10:02:13.000Z","size":21385,"stargazers_count":102,"open_issues_count":0,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-27T18:21:39.234Z","etag":null,"topics":["acceleratered","android","gpu","hacktoberfest","hacktoberfest2023","kotlin","parallax","scrolling","viewpager","viewpager2"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/kibotu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"custom":"https://paypal.me/janrabe/5"}},"created_at":"2019-09-12T12:47:04.000Z","updated_at":"2025-01-22T05:29:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"51fc6124-c14b-484c-bb32-65720be385fc","html_url":"https://github.com/kibotu/ParallaxScrollingView","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kibotu%2FParallaxScrollingView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kibotu%2FParallaxScrollingView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kibotu%2FParallaxScrollingView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kibotu%2FParallaxScrollingView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kibotu","download_url":"https://codeload.github.com/kibotu/ParallaxScrollingView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248821925,"owners_count":21166981,"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":["acceleratered","android","gpu","hacktoberfest","hacktoberfest2023","kotlin","parallax","scrolling","viewpager","viewpager2"],"created_at":"2024-12-10T22:09:38.649Z","updated_at":"2025-04-14T04:33:05.062Z","avatar_url":"https://github.com/kibotu.png","language":"Kotlin","funding_links":["https://paypal.me/janrabe/5","https://www.paypal.me/janrabe/5"],"categories":[],"sub_categories":[],"readme":"[![Donation](https://img.shields.io/badge/buy%20me%20a%20coffee-brightgreen.svg)](https://www.paypal.me/janrabe/5) [![About Jan Rabe](https://img.shields.io/badge/about-me-green.svg)](https://about.me/janrabe)\n# ParallaxScrollingView [![](https://jitpack.io/v/kibotu/ParallaxScrollingView.svg)](https://jitpack.io/#kibotu/ParallaxScrollingView) [![](https://jitpack.io/v/kibotu/ParallaxScrollingView/month.svg)](https://jitpack.io/#kibotu/ParallaxScrollingView) [![Hits-of-Code](https://hitsofcode.com/github/kibotu/ParallaxScrollingView)](https://hitsofcode.com/view/github/kibotu/ParallaxScrollingView) [![Javadoc](https://img.shields.io/badge/javadoc-SNAPSHOT-green.svg)](https://jitpack.io/com/github/kibotu/ParallaxScrollingView/master-SNAPSHOT/javadoc/index.html) [![Build Status](https://travis-ci.org/kibotu/ParallaxScrollingView.svg)](https://travis-ci.org/kibotu/ParallaxScrollingView)  [![API](https://img.shields.io/badge/API-16%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=15) [![Gradle Version](https://img.shields.io/badge/gradle-5.6.1-green.svg)](https://docs.gradle.org/current/release-notes)  [![Kotlin](https://img.shields.io/badge/kotlin-1.3.50-green.svg)](https://kotlinlang.org/) [![GitHub license](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://raw.githubusercontent.com/kibotu/ParallaxScrollingView/master/LICENSE) [![androidx](https://img.shields.io/badge/androidx-brightgreen.svg)](https://developer.android.com/topic/libraries/support-library/refactor)\n\nParallax Scrolling View.\n\n- automatic scrolling with different speeds\n- minimal integration\n- gpu accelerated\n- supports vector drawables\n- supports bitmap drawables\n- supports ViewPager2\n- argb interpolated gradient on viewpager scrolling\n- updates statusBar color on scroll\n\n[![Screenshot](https://github.com/kibotu/ParallaxScrollingView/raw/master/sample_big.gif)](https://github.com/kibotu/ParallaxScrollingView/raw/master/sample_big.gif)\n\n### How to use\n\n1 add ParallaxScrollingView to [your layout](app/src/main/res/layout/activity_main.xml#L21-L82)\n\n```xml\n\u003cnet.kibotu.parallaxscrollingview.ParallaxScrollingView\n    android:id=\"@+id/wave1\"\n    app:layout_constraintBottom_toBottomOf=\"parent\"\n    app:layout_constraintEnd_toEndOf=\"parent\"\n    app:layout_constraintStart_toStartOf=\"parent\"\n    app:speed=\"@dimen/wave1_speed\"\n    app:src=\"@drawable/ic_wave\"\n    android:layout_width=\"0dp\"\n    android:layout_height=\"wrap_content\" /\u003e\n```\n\n2 (Optional) add [ParallaxScrollingViewOnPageScrollListener](app/src/main/java/net/kibotu/parallaxscrollingview/demo/MainActivity.kt#L28)) to ViewPager2\n\n```kotlin\nviewPager.registerOnPageChangeCallback(ParallaxScrollingViewOnPageScrollListener(listOf(wave1, wave2, wave3, wave4, wave5, wave6), 2f))\n```\n\n3(Optional) add [OffsetOnPageScrollListener](app/src/main/java/net/kibotu/parallaxscrollingview/demo/MainActivity.kt#L30) to ViewPager2\n\n```kotlin\nviewPager.registerOnPageChangeCallback(OffsetOnPageScrollListener(this, root, items.indices.map { backgrounds[it] }, true))\n```\n\n### How to install\n\n```groovy\nrepositories {\n    maven {\n\turl \"https://jitpack.io\"\n    }\n}\n\ndependencies {\n    implementation 'com.github.kibotu:ParallaxScrollingView:-SNAPSHOT'\n}\n```\n\n### Notes\n\nFollow me on Twitter: [@wolkenschauer](https://twitter.com/wolkenschauer)\n\nLet me know what you think: [jan.rabe@kibotu.net](mailto:jan.rabe@kibotu.net)\n\nContributions welcome!\n\n\n### License\n\u003cpre\u003e\nCopyright 2019 Jan Rabe\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\u003c/pre\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkibotu%2Fparallaxscrollingview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkibotu%2Fparallaxscrollingview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkibotu%2Fparallaxscrollingview/lists"}