最近由于項目需要要做一個按鈕的平移加旋轉(zhuǎn)的動畫效果,本以為是信手拈來的事,按部就班的寫了以下代碼:
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);
運行后的效果是先平移到終點,然后開始旋轉(zhuǎn)。而我想要的結(jié)果是在平移的過程中旋轉(zhuǎn),兩個動畫是同時進(jìn)行的,而不是先后執(zhí)行。代碼看了半天也沒一點錯誤,難道平移和旋轉(zhuǎn)動畫不能一起使用?
最后改了下面兩段代碼的順序:
set.addAnimation(rotateAnim);
set.addAnimation(translateAnim);
在AnimationSet中先添加旋轉(zhuǎn)動畫,再添加平移動畫,結(jié)果就可以同時執(zhí)行了。