位移补间动画TranslateAnimation
补间动画,是指填补两个图形之间的变化,让第一个图形逐渐改变为第二个图形。Android中提供了很多补间动画的功能,包括位移、旋转、缩放、透明化等等。
对于位移补间动画,Android提供的位移补间动画类为:TranslateAnimation。Android还提供了很多特效类,我们今天只了解一下快速重复播放动画特效类CycleInterpolator。好了,看一下例子,如果我想让某个图片产生位移补间的动画效果,那么该如何实现呢?
可以先计算图片移动的距离范围,然后再设置位移补间动画的相应效果:
View parentView=(View)imageView.getParent();
float distance=parentView.getWidth()-parentView.getPaddingLeft()-parentView.getPaddingRight()-imageView.getWidth();
TranslateAnimation ta=new TranslateAnimation(0,distance,0,0);
ta.setDuration(2000);
ta.setRepeatMode(Animation.RESTART);
ta.setRepeatCount(Animation.INFINITE);
imageView.startAnimation(ta); // 启动动画
如果想让某个控件产生快速重复播放的动画特效,那么应该这样实现:
TranslateAnimation shakeAnimation=new TranslateAnimation(0,10,0,0);
shakeAnimation.setDuration(1000);
CycleInterpolator ci=new CycleInterpolator(7);
shakeAnimation.setInterpolator(ci);
某个控件view.startAnimation(shakeAnimation);