Welcome

首页 / 移动开发 / Android / Android编程实现仿心跳动画效果的方法

本文实例讲述了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);// 实现心跳的ViewimageView.startAnimation(animationSet); }});// 实现心跳的ViewimageView.startAnimation(animationSet);}
由于这是一个循环的动画,所以需要开一个线程来进行动画的实现,当然还有另外一个方法,就是在一个动画结束开始另一个动画,在另一个动画结束开始这个动画也可以,这边示例用的是线程。
new Thread(){ public void run() {while (true){ try {Thread.sleep(1000); } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace(); } runOnUiThread(new Runnable() {public void run() { playHeartbeatAnimation();} });} };}.start();
希望本文所述对大家Android程序设计有所帮助。