Please click the image below to enlarge.
Stroke Ripple | Fill Ripple |
---|---|
Add this in your root build.gradle
file (not your module build.gradle
file):
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Add this to your module's build.gradle
file (make sure the version matches the JitPack badge above):
dependencies {
...
implementation 'com.github.invissvenska:Pulsating-Ripple:VERSION'
}
Add the PulsatingLayout
to your layout and insert a View in it:
<nl.invissvenska.pulsatingripple.PulsatingLayout
android:id="@+id/ripple"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/centerImage"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_centerInParent="true"
android:src="@drawable/atom_icon"/>
</nl.invissvenska.pulsatingripple.PulsatingLayout>
Start animation:
pulsatingLayout.startAnimation();
Stop animation:
pulsatingLayout.stopAnimation();
Attributes | Type | Default | Mandatory | Description |
---|---|---|---|---|
pr_duration | Integer | 3000 | No | Time in milliseconds for one animation cycle. |
pr_rippleAmount | Integer | 6 | No | Amount of ripples in the animation cycle. |
pr_radius | Dimension | 24dp | No | Start radius of the ripple. |
pr_scale | Float | 6 | No | Scale increment of the ripple. |
pr_color | Color | #039191 | No | Color of the ripple. |
pr_type | Integer (strokeRipple, fillRipple) | fillRipple | No | Makes the ripples stroke or filled. |
pr_strokeWidth | Dimension | 2dp if (pr_type == strokeRipple) | No | Width of the stroke, will only be used when pr_type == strokeRipple. |