Description
Creates effect such as vertical parallax, horizontal parallax etc. on android ImageView when it's being vertically or horizontally scrolled (moving) on the screen.
I wrote an article explaining how this works and implemented, please check it out
Android Parallax Image View alternatives and similar packages
Based on the "ImageView Widget" category.
Alternatively, view Android Parallax Image View alternatives based on common mentions on social networks and blogs.
-
subsampling-scale-image-view
Android library (AAR). Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc. -
TextDrawable
This light-weight library provides images with letter/text like the Gmail app. It extends the Drawable class thus can be used with existing/custom/network ImageView classes. Also included is a fluent interface for creating drawables and a customizable ColorGenerator. -
android-smart-image-view
Android ImageView replacement which allows image loading from URLs or contact address book, with caching -
CircularImageView
Custom view for circular images in Android while maintaining the best draw performance -
android-cropimage
DISCONTINUED. CropImage Activity from Gallery.apk packaged as a reusable Android library (4.0 and up). -
ByakuGallery
An open source Android library that allows the visualization of large images with gesture capabilities -
DexMovingImageView
DMIV aims to provide a flexible and customizable instrument for automated images moving on display. It provides scroll, gyroscope or time based moving. But you can create your own evaluator. -
Music Cover View
Subclass of ImageView that 'morphs' into a circle shape and can rotates. Useful to be used as album cover in Music apps. :dvd::notes: -
AvatarImageGenerator
Android library to generate image avatar from the first letter of a username. Letter avatar like Gmail Android best practice
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Android Parallax Image View or a related project?
README
Android Parallax Image View
Creates effect such as vertical parallax, horizontal parallax etc. on android ImageView when it's being vertically or horizontally scrolled (moving) on the screen.
References:
- https://abdularis.com/2018/06/06/scroll_parallax_image_view.html
- https://medium.com/@abdularis/android-custom-view-tutorial-scroll-parallax-image-view-2140ac292ecb
Screenshot
[](screenshots/screenshot_1.gif)
Setup
- Step 1 Add repository into root build.gradle
allprojects {
repositories {
...
maven {
url 'https://jitpack.io' }
}
}
- Step 2 Add library dependency into app build.gradle
dependencies {
implementation 'com.github.abdularis:parallaximageview:1.1'
}
Usage
Create vertical parallax image view
<com.github.abdularis.piv.VerticalScrollParallaxImageView android:id="@+id/image_view" android:layout_width="200dp" android:layout_height="170dp" android:src="@drawable/img1"/>
Create Horizontal parallax image view
<com.github.abdularis.piv.HorizontalScrollParallaxImageView android:id="@+id/image_view" android:layout_width="200dp" android:layout_height="170dp" android:src="@drawable/img1"/>
Create and customize effect on your own
<com.github.abdularis.piv.ScrollTransformImageView android:id="@+id/image_view" android:layout_width="200dp" android:layout_height="170dp" android:src="@drawable/img1"/>
In the java/kotlin code you can set the effect (transformer) manually. There are three built-in effect classes, VerticalParallaxTransformer, HorizontalParallaxTransformer, HorizontalScaleTransformer.
Java code
ScrollTransformImageView img = findViewById(R.id.image_view);
// create horizontal scale effect
img.setViewTransformer(new HorizontalScaleTransformer())
// create vertical or horizontal parallax effect manually
// img.setViewTransformer(new VerticalParallaxTransformer())
// img.setViewTransformer(new HorizontalParallaxTransformer())
//
// the VerticalParallaxImageView or HorizontalParallaxImageView are nothing but the ScrollTransformImageView with coresponding parallax effect
You can create your own custom effect by extending ViewTransformer.
public class CustomTransformer extends ViewTransformer {
@Override
public void onAttached(@NotNull ScrollTransformImageView view) {
// do something when this transformer is set into image view
}
@Override
public void onDetached(@NotNull ScrollTransformImageView view) {
// do something when this transformer is remove from image view
}
@Override
public void apply(@NotNull ScrollTransformImageView view, @NotNull Canvas canvas, int viewX, int viewY) {
// do transformation effect or so, this would be called everytime image view move/scrolled
}
}
License
MIT License
*Note that all licence references and agreements mentioned in the Android Parallax Image View README section above
are relevant to that project's source code only.