Android编程实现仿心跳动画效果的方法
本文实例讲述了Android编程实现仿心跳动画效果的方法。分享给大家供大家参考,具体如下:
//按钮模拟心脏跳动
privatevoidplayHeartbeatAnimation(){
AnimationSetanimationSet=newAnimationSet(true);
animationSet.addAnimation(newScaleAnimation(1.0f,1.8f,1.0f,1.8f,
Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,
0.5f));
animationSet.addAnimation(newAlphaAnimation(1.0f,0.4f));
animationSet.setDuration(200);
animationSet.setInterpolator(newAccelerateInterpolator());
animationSet.setFillAfter(true);
animationSet.setAnimationListener(newAnimationListener(){
@Override
publicvoidonAnimationStart(Animationanimation){
}
@Override
publicvoidonAnimationRepeat(Animationanimation){
}
@Override
publicvoidonAnimationEnd(Animationanimation){
AnimationSetanimationSet=newAnimationSet(true);
animationSet.addAnimation(newScaleAnimation(1.8f,1.0f,1.8f,
1.0f,Animation.RELATIVE_TO_SELF,0.5f,
Animation.RELATIVE_TO_SELF,0.5f));
animationSet.addAnimation(newAlphaAnimation(0.4f,1.0f));
animationSet.setDuration(600);
animationSet.setInterpolator(newDecelerateInterpolator());
animationSet.setFillAfter(false);
//实现心跳的View
imageView.startAnimation(animationSet);
}
});
//实现心跳的View
imageView.startAnimation(animationSet);
}
由于这是一个循环的动画,所以需要开一个线程来进行动画的实现,当然还有另外一个方法,就是在一个动画结束开始另一个动画,在另一个动画结束开始这个动画也可以,这边示例用的是线程。
newThread(){
publicvoidrun(){
while(true){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
runOnUiThread(newRunnable(){
publicvoidrun(){
playHeartbeatAnimation();
}
});
}
};
}.start();
希望本文所述对大家Android程序设计有所帮助。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短