Skip to content
An Android view for displaying repeated continuous side scrolling images. This can be used to create a parallax animation effect.
Java
Branch: master
Clone or download
Latest commit bc6f68e Jun 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Update project files Jun 4, 2018
library Update project files Jun 4, 2018
sampleapp Update project files Jun 4, 2018
.gitignore first commit Aug 4, 2015
LICENSE Create LICENSE Jun 4, 2018
README.md Update README.md Jun 4, 2018
build.gradle Update project files Jun 4, 2018
gradle.properties first commit Aug 4, 2015
gradlew first commit Aug 4, 2015
gradlew.bat first commit Aug 4, 2015
preview.gif Added preview image Aug 6, 2015
sample_app.png Added screenshot for sample app Aug 7, 2015
settings.gradle Fixed Left to right scrolling Aug 7, 2015

README.md

Scrolling Image View

An Android view for displaying repeated continuous side scrolling images. This can be used to create a parallax animation effect.

Example

Example

Installation

Step 1. Add the JitPack repository to your project build.gradle file

allprojects {
    repositories {
        // ~~~
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency in the form

dependencies {
    implementation 'com.github.Q42:AndroidScrollingImageView:1.3.3'
}

Sample app

Please see the sample app for some examples

Sample App

Usage

In your Android layout file add:

<com.q42.android.scrollingimageview.ScrollingImageView
    android:id="@+id/scrolling_background"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    scrolling_image_view:speed="1dp"
    scrolling_image_view:src="@drawable/scrolling_background" />

There are two attributes for the ScrollingImageView namely speed and src.

  • speed is the number of dp's to move the bitmap on each animation frame (may be a negative number)
  • src is the drawable to paint (must be a bitmap!)

Don't forget to add the namespace to your root XLM element

xmlns:scrolling_image_view="http://schemas.android.com/apk/res-auto"

In your Java code, you can start and stop the animation like this:

ScrollingImageView scrollingBackground = (ScrollingImageView) loader.findViewById(R.id.scrolling_background);
scrollingBackground.stop();
scrollingBackground.start();

Parallax effect

In order to achieve a parallax effect, you can stack multiple ScrollingImageView's in a FrameLayout with different speeds. For example:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

  <com.q42.android.scrollingimageview.ScrollingImageView
      android:id="@+id/scrolling_background"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      scrolling_image_view:speed="1dp"
      scrolling_image_view:src="@drawable/scrolling_background" />
      
  <com.q42.android.scrollingimageview.ScrollingImageView
      android:id="@+id/scrolling_foreground"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      scrolling_image_view:speed="2.5dp"
      scrolling_image_view:src="@drawable/scrolling_foreground" />
</FrameLayout>
You can’t perform that action at this time.