用動畫集合AnimationSet實現一個平移且縮放的動畫,代碼如下
mIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TranslateAnimation translateAnimation = new TranslateAnimation(0,150, 0, 0 );
ScaleAnimation scaleAnimation = new ScaleAnimation(1f, 0.5f, 1f, 0.5f);
translateAnimation.setDuration(1000);
scaleAnimation.setDuration(1000);
AnimationSet animationSet = new AnimationSet(false);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
mIv.startAnimation(animationSet);
}
});
運行后平移的位置沒有到達想要的位置
原來動畫集合中平移和縮放會沖突,是因為動畫集合中運用了矩陣的知識,想實現平移縮放,那么在創建矩陣時,必須先縮放后平移,即動畫集合中要先添加縮放后添加平移。