GithubHelp home page GithubHelp logo

ibrahimsn98 / android-particles Goto Github PK

View Code? Open in Web Editor NEW
425.0 7.0 69.0 3.72 MB

A lightweight Particle Animation Library for Android

License: MIT License

Kotlin 90.80% Java 9.20%
android particles android-animations android-library android-development android-particle-library android-particle-animation android-particles-js

android-particles's Introduction

Android Particles

Particle animation library for Android

Example

Setup

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
      implementation 'com.github.ibrahimsn98:android-particles:2.0'
}

Attributions

<me.ibrahimsn.particle.ParticleView
    android:id="@+id/particleView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:particleCount="60"
    app:particleMinRadius="3"
    app:particleMaxRadius="10"
    app:particlesBackgroundColor="#23262a"
    app:particleColor="@android:color/holo_green_dark"
    app:particleLineColor="@android:color/holo_green_dark"
    app:particleLinesEnabled="true" />

Usage

class MainActivity : AppCompatActivity() {

    private lateinit var particleView: ParticleView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        particleView = findViewById(R.id.particleView)
    }

    override fun onResume() {
        super.onResume()
        particleView.resume()
    }

    override fun onPause() {
        super.onPause()
        particleView.pause()
    }
}

Inspired From

Thanks to VincentGarreau for sharing that awesome javascript library

TODO

  • Performance optimizations
  • RAM optimizations
  • Touch Event Animations

License

MIT

Follow me on Twitter @ibrahimsn98

android-particles's People

Contributors

ibrahimsn98 avatar pieterpicup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-particles's Issues

Setting background drawable

First of all I would like to thank you for this amazing library, it's SO easy to use and the results are marvellous. It's also very easily customizable. Now for this issue, when I try to set a background drawable the particles don't appear. I tried setting the background colour to transparent and have a drawable somewhere behind, but instead of transparent, it's black. Do you have any idea how to solve this? It would be greatly appreciated!

Loading is too slow. Thorws NPE

I included your lib in one of my java based app. First time loading is too slow and halts the UI even after loading dynamically using ViewStub.
Throws following error:
W/System.err: kotlin.KotlinNullPointerException at me.ibrahimsn.particle.ParticleView$SurfaceViewThread.run(ParticleView.kt:134)

IndexOutOfBoundsException (ParticleView.kt:262)

On resuming, the exception below is spammed. It happens for myself about every other resume.

W/System.err:     at me.ibrahimsn.particle.ParticleView$SurfaceViewThread.run(ParticleView.kt:262)
W/System.err: java.lang.IndexOutOfBoundsException: Index: 34, Size: 34
	@Override
	public void onResume() {
		super.onResume();
		particleView.setParticleMinRadius(utils.getRngNumber(2, 8));
		particleView.setParticleMaxRadius(utils.getRngNumber(16, 24));
		particleView.setParticleCount(utils.getRngNumber(20, 40));
		int[] particleClrs = new int[] {
				R.color.particle_color_1, R.color.particle_color_2, R.color.particle_color_3,
				R.color.particle_color_4, R.color.particle_color_5, R.color.particle_color_6
		};
		particleView.setParticleColor( ContextCompat.getColor(
				context, particleClrs[ utils.getRngNumber(0, particleClrs.length-1) ]) );
		particleView.setParticleLineColor( ContextCompat.getColor(
				context, particleClrs[ utils.getRngNumber(0, particleClrs.length-1) ]) );
		particleView.resume();
	}

snack bar not show in particles

hi
back
snack

Before I implemented this view, it used to show any snack bar
But since I have implemented View, now whatever I do, it does not show

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.