首页 > 系统 > Android > 正文

Android编程实现仿心跳动画效果的方法

2020-04-11 11:16:10
字体:
来源:转载
供稿:网友

本文实例讲述了Android编程实现仿心跳动画效果的方法。分享给大家供大家参考,具体如下:

// 按钮模拟心脏跳动private void playHeartbeatAnimation() {  AnimationSet animationSet = new AnimationSet(true);  animationSet.addAnimation(new ScaleAnimation(1.0f, 1.8f, 1.0f, 1.8f,    Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,    0.5f));  animationSet.addAnimation(new AlphaAnimation(1.0f, 0.4f));  animationSet.setDuration(200);  animationSet.setInterpolator(new AccelerateInterpolator());  animationSet.setFillAfter(true);  animationSet.setAnimationListener(new AnimationListener() {   @Override   public void onAnimationStart(Animation animation) {   }   @Override   public void onAnimationRepeat(Animation animation) {   }   @Override   public void onAnimationEnd(Animation animation) {    AnimationSet animationSet = new AnimationSet(true);    animationSet.addAnimation(new ScaleAnimation(1.8f, 1.0f, 1.8f,      1.0f, Animation.RELATIVE_TO_SELF, 0.5f,      Animation.RELATIVE_TO_SELF, 0.5f));    animationSet.addAnimation(new AlphaAnimation(0.4f, 1.0f));    animationSet.setDuration(600);    animationSet.setInterpolator(new DecelerateInterpolator());    animationSet.setFillAfter(false);        // 实现心跳的View    imageView.startAnimation(animationSet);   }  });    // 实现心跳的View  imageView.startAnimation(animationSet);}

由于这是一个循环的动画,所以需要开一个线程来进行动画的实现,当然还有另外一个方法,就是在一个动画结束开始另一个动画,在另一个动画结束开始这个动画也可以,这边示例用的是线程。

new Thread(){ public void run() {  while (true){   try {    Thread.sleep(1000);   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   runOnUiThread(new Runnable() {    public void run() {     playHeartbeatAnimation();    }   });  } };}.start();

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表