今天开发的时候碰到这样一个问题:使用补间动画同时进行平移和缩放操作
AnimationSet animationSet = new AnimationSet(false);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 300, 0, 300);
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0f, 1.0f, 0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.5f);
translateAnimation.setDuration(2000);
scaleAnimation.setDuration(1600);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
mImagesRight[i].startAnimation(animationSet);
我将平移动画的addAnimation()方法放在了前面,结果出现平移到对应位置(0,0) –> (300,300)的时候又回来了
解决方法只要将
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
这两个方法调换一下位置就可以了
animationSet.addAnimation(scaleAnimation);
animationSet.addAnimation(translateAnimation);
根据大牛的解释是addAnimation里面会进行计算导致平移到相应位置又回来
大牛真吊