我使用动画集从屏幕中心向左上角设置ImageView。我正在翻译和缩放视图。
下面是代码段。
AnimationSet tempAnimation=new AnimationSet(true);
TranslateAnimation anim = new TranslateAnimation( 0,xPos, 0, yPos );
anim.setFillAfter( true );
anim.setFillEnabled(true);
ScaleAnimation scaleanimation = new ScaleAnimation(1, (float)0.22, 1, (float)0.22, Animation.RELATIVE_TO_SELF, (float)0.5, Animation.RELATIVE_TO_SELF, (float)0.5);
scaleanimation.setDuration(1000);
scaleanimation.setFillEnabled(true);
scaleanimation.setFillAfter(true);
tempAnimation.addAnimation(scaleanimation);
tempAnimation.addAnimation(anim);
tempAnimation.setDuration(1000);
// This takes care that the ImageViews stay in their final positions after animating .
tempAnimation.setFillEnabled(true);
tempAnimation.setFillAfter(true);
mimageView.startAnimation(tempAnimation);
所以,问题是它只留下了一个小道/前一个位置只是短暂的一刻。但它看起来不好或光滑。我注意到如果我只使用1个动画它很好但是使用动画集导致踪迹。有什么提示可以避免这种情况吗?
干杯
答案 0 :(得分:1)
最终在https://code.google.com/p/android/issues/detail?id=22151找到答案。
缩放和翻译动画在Android 2.3上存在问题。解决此问题的最简单方法是在图像周围添加一个小的透明填充。在上面显示的代码中,只需添加
mimageView.setPadding(1,1,1,1);
像魅力一样!