Android旋转动画和平移动画混合效果
2016-07-19 本文已影响2786人
请手下留情
最近由于项目需要要做一个按钮的平移加旋转的动画效果,本以为是信手拈来的事,按部就班的写了以下代码:
RotateAnimation rotateAnim =newRotateAnimation(0,-720,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
TranslateAnimation translateAnim=newTranslateAnimation(Animation.ABSOLUTE,0,Animation.ABSOLUTE,-80,Animation.ABSOLUTE,0,Animation.ABSOLUTE,-80);
AnimationSet set=newAnimationSet(false);
set.addAnimation(translateAnim);
set.addAnimation(rotateAnim);
set.setFillAfter(true);
set.setDuration(300);
less.startAnimation(set);
运行后的效果是先平移到终点,然后开始旋转。而我想要的结果是在平移的过程中旋转,两个动画是同时进行的,而不是先后执行。代码看了半天也没一点错误,难道平移和旋转动画不能一起使用?
最后改了下面两段代码的顺序:
set.addAnimation(rotateAnim);
set.addAnimation(translateAnim);
在AnimationSet中先添加旋转动画,再添加平移动画,结果就可以同时执行了。