Konfetti
https://github.com/DanielMartinus/Konfetti
Konfetti π
[platform](https://img.shields.io/badge/platform-Android-green.svg)
[API](https://img.shields.io/badge/API-16%2B-brightgreen.svg?style=flat)
[License: ISC](https://img.shields.io/badge/License-ISC-yellow.svg) [Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg) [Twitter](https://img.shields.io/badge/Twitter-@dionsegijn-blue.svg?style=flat)
For more updates on this and other open-source projects, follow me on twitter π here
Celebrate more with this lightweight confetti particle system π Create realistic confetti by implementing this easy to use library.
Demo app
Sample app
Download on Google Play:
Or download the APK here
Usage
XML
All you need in your layout is the KonfettiView to render the particles on:
<nl.dionsegijn.konfetti.KonfettiView
android:id="@+id/viewKonfetti"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Example in Kotlin
viewKonfetti.build()
.addColors(Color.YELLOW, Color.GREEN, Color.MAGENTA)
.setDirection(0.0, 359.0)
.setSpeed(1f, 5f)
.setFadeOutEnabled(true)
.setTimeToLive(2000L)
.addShapes(Shape.RECT, Shape.CIRCLE)
.addSizes(Size(12))
.setPosition(-50f, viewKonfetti.width + 50f, -50f, -50f)
.streamFor(300, 5000L)
Example in Java
viewKonfetti.build()
.addColors(Color.YELLOW, Color.GREEN, Color.MAGENTA)
.setDirection(0.0, 359.0)
.setSpeed(1f, 5f)
.setFadeOutEnabled(true)
.setTimeToLive(2000L)
.addShapes(Shape.RECT, Shape.CIRCLE)
.addSizes(new Size(12, 5))
.setPosition(-50f, viewKonfetti.getWidth() + 50f, -50f, -50f)
.streamFor(300, 5000L)
If you havenβt configured Kotlin for your Java only project, add the following to your project:
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:$latest_version'
Read more about the latest version and kotlin via gradle here: https://kotlinlang.org/docs/reference/using-gradle.html
Download
Just add the following dependency in your appβs build.gradle
dependencies {
implementation 'nl.dionsegijn:konfetti:1.1.2'
}
[Download](https://api.bintray.com/packages/danielmartinus/maven/Konfetti/images/download.svg)
Contribute
There is always room for improvement.
Report issue
Did you encounter bugs? Report them here. The more relevant information you provide the easier and faster it can be resolved.
Contribute
As mentioned, there is always room for improvement. Do you have any performance improvement ideas? Please suggest them here. Before submitting a large Pull Request, creating an issue to discuss your ideas would be the preferred way so we can be sure it is in line with other improvements currently being developed. Is it a simple improvement? Go ahead and submit a Pull Request I very welcome any contributions.
Roadmap
In line with the previous contribute section there are some already known issues that could be resolved and are open for discussion.
Determining the size of the particles in the current implementation is not ideal. More here: #7 Confetti size system- A performance improvement to the library could for one be to implement a shared object pool amongst all particle systems instead of having them to handle confetti instances themselves.
License
Konfetti is released under the ISC license. See LICENSE for details.