<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Android實現(xiàn)炫酷的粒子爆炸特效

          共 10157字,需瀏覽 21分鐘

           ·

          2021-09-30 20:19

          直接復(fù)制工具類即可:

          /** * explain :使用本工具類必須導(dǎo)入bloom庫,如下: *      dependencies { *          implementation 'me.samlss:bloom:1.0.0' *     } * * */


          1、工具類
          import android.app.Activity;import android.os.CountDownTimer;import android.view.View;import java.util.Random;
          import me.samlss.bloom.Bloom;import me.samlss.bloom.effector.BloomEffector;import me.samlss.bloom.particle.BloomParticle;import me.samlss.bloom.shape.ParticleCircleShape;import me.samlss.bloom.shape.ParticleRectShape;import me.samlss.bloom.shape.ParticleShape;import me.samlss.bloom.shape.ParticleStarShape;import me.samlss.bloom.shape.distributor.CircleShapeDistributor;import me.samlss.bloom.shape.distributor.ParticleShapeDistributor;
          /** * Demo class */public class PBombUtil {/** * explain :使用本工具類必須導(dǎo)入bloom庫,如下: * dependencies { * implementation 'me.samlss:bloom:1.0.0' * } * * */

          /** * 默認(rèn) 圓形特效(建議使用) */ public static void starics(Activity activity, float radius, long duration, View view) { Bloom.with(activity) .setParticleRadius(radius) .setEffector(new BloomEffector.Builder() .setDuration(duration) .setAnchor(view.getWidth() / 2, view.getHeight() / 2) .build()) .boom(view); }
          /** * 在該庫中,支持三種粒子形狀 */
          public static void starics1(Activity activity, float radius, View view, ParticleShapeDistributor particleShapeDistributor) { Bloom.with(activity) .setParticleRadius(radius) .setShapeDistributor(particleShapeDistributor) //圓形特效// .setShapeDistributor(new CircleShapeDistributor()) //矩形特效 //or setShapeDistributor(new RectShapeDistributor()) //星型特效 //or setShapeDistributor(new StarShapeDistributor()) .boom(view); }

          /** * 隨機(jī)特效 */ public static void starics2(Activity activity, float radius, View view) { Bloom.with(activity) .setParticleRadius(radius) .setShapeDistributor(new ParticleShapeDistributor() { @Override public ParticleShape getShape(BloomParticle particle) { Random random = new Random(); 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());//設(shè)置圓角效果 case 2: return new ParticleStarShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius()); } return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius()); } }).boom(view);
          }
          /** * 組合起來(強(qiáng)力推存) */ public static void starics3(Activity activity, float radius, long duration, View view) {// 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());//設(shè)置圓角效果// 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);
          Bloom.with(activity) .setParticleRadius(radius) .setShapeDistributor(new ParticleShapeDistributor() { @Override public ParticleShape getShape(BloomParticle particle) { Random random = new Random(); 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());//設(shè)置圓角效果 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(duration) .setAnchor(view.getWidth() / 2, view.getHeight() / 2) .build()) .boom(view); }
          /** * 組合起來(強(qiáng)力推存 帶跳轉(zhuǎn)) */ public static CountDownTimer starics4(Activity activity, float radius, long duration, View view, CountDownTimer countDownTimer) {// 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());//設(shè)置圓角效果// 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);
          Bloom.with(activity) .setParticleRadius(radius) .setShapeDistributor(new ParticleShapeDistributor() { @Override public ParticleShape getShape(BloomParticle particle) { Random random = new Random(); 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());//設(shè)置圓角效果 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(duration) .setAnchor(view.getWidth() / 2, view.getHeight() / 2) .build()) .boom(view); return countDownTimer.start(); }}


          2、Activity中使用
          public class MainActivity extends AppCompatActivity {
          private ImageView img;
          @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
          img = (ImageView) findViewById(R.id.image_s); img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {// PBombUtil.starics3(MainActivity.this,10,800,img);// 粒子效果 PBombUtil.starics4(MainActivity.this, 10, 1000, img, new CountDownTimer(1000, 100) { @Override public void onTick(long millisUntilFinished) {
          }
          @Override public void onFinish() { startActivity(new Intent(MainActivity.this, MainActivity2.class)); } });

          // startActivity(new Intent(MainActivity.this, MainActivity2.class));
          }        });    }}


          效果圖:



          到這里就結(jié)束啦。
          瀏覽 142
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼片免费看 | 日韩人妻不卡 | 天天操天天干天天摸 | 午夜激情亚洲无码 | 精品无码秘 人妻一区二区三区 |