一款炫酷的粒子爆炸特效

在网上逛到的一款炫酷的控件粒子爆炸特效,什么?你不信真的很炫酷? 话不多说,那我们一起来看一看吧

效果
有这样的
一款炫酷的粒子爆炸特效_第1张图片
这样的
还有这样的
一款炫酷的粒子爆炸特效_第2张图片
还有这样的
还有这样的!
还有这样的

把这个用作用户体验操作,不知道有没有感觉到很惊艳呢

1-1

Gradle依赖

dependencies {
    implementation 'me.samlss:bloom:1.0.0'
}
Maven

  me.samlss
  bloom
  1.0.0
  pom

代码使用
 Bloom.with('activity')
     .setParticleRadius(5)
     .setEffector(new BloomEffector.Builder()
         .setDuration(800)
         .setAnchor(view.getWidth() / 2, view.getHeight() / 2)
         .build())
     .boom(view);
升级版
在该库中,支持三种粒子形状
Bloom.with('activity')
    .setParticleRadius(15)
    //圆形特效
    .setShapeDistributor(new CircleShapeDistributor())
    //矩形特效
    //or setShapeDistributor(new RectShapeDistributor())
    //星型特效
    //or setShapeDistributor(new StarShapeDistributor())
    .boom(view);
还可以进行使用随机特效
 .setShapeDistributor(new ParticleShapeDistributor() {
                            @Override
                            public ParticleShape getShape(BloomParticle particle) {
                                switch (random.nextInt(3)){
                                    case 0:
                                        return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                    case 1:
                                        return new ParticleRectShape(2, 2, particle.getInitialX(), particle.getInitialY(), particle.getRadius());//设置圆角效果
                                    case 2:
                                        return new ParticleStarShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                }
                                return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                            }
                        })
组合起来
  Bloom.with(LoginActivity.this)
                        .setParticleRadius(5)
                        .setShapeDistributor(new ParticleShapeDistributor() {
                            @Override
                            public ParticleShape getShape(BloomParticle particle) {
                                switch (random.nextInt(3)){
                                    case 0:
                                        return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                    case 1:
                                        return new ParticleRectShape(2, 2, particle.getInitialX(), particle.getInitialY(), particle.getRadius());//设置圆角效果
                                    case 2:
                                        return new ParticleStarShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                }
                                return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                            }
                        })
                        .setEffector(new BloomEffector.Builder()
                                .setDuration(800)
                                .setAnchor(mScratchView.getWidth() / 2, mScratchView.getHeight() / 2)
                                .build())
                        .boom(view);

文章很短,路还漫长,大家好,我是玖玖君,一个帅气与才华并存的男人,我们下期再见。

你可能感兴趣的:(一款炫酷的粒子爆炸特效)