zoukankan      html  css  js  c++  java
  • 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();
    

      

  • 相关阅读:
    俞洪敏励志演讲
    svn 提交排除目录
    (二)2005年我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训
    COM+ System Application 服务无法启动方法
    版本库迁移(合并)的实现
    没有为此解决方案配置选中要生成的项目
    Oracle 10g 下载地址
    JQuery插件开发[转]
    Web开发中的Form Submit Successful
    网页栅格系统研究(4):技术实现
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3685672.html
Copyright © 2011-2022 走看看