我遇到动画问题和设置图片资源。
我希望在TranslateAnimation完成后更改ImageView的图像,但这样做会导致动画不再起作用...
继承我的代码:
TranslateAnimation anim = new TranslateAnimation(0, infoBoxLeft - infoBoxOffset, 0, 0);
anim.setInterpolator(new LinearInterpolator());
anim.setDuration(millis);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
arrowImage.setImageResource(R.drawable.arrow_left);
infoBox.layout(infoBoxLeft - infoBoxOffset, infoBox.getTop(), (infoBoxLeft - infoBoxOffset)
+ infoBoxWidth, infoBox.getTop() + infoBox.getHeight());
infoBox.clearAnimation();
}
});
infoBox.startAnimation(anim);
如果我删除行arrowImage.setImageResource(R.drawable.arrow_left);
一切正常,那么动画没有运行。
我已经尝试使用setImageDrawable
(因为文档说它没有在UI-Thread上运行)而是没有区别。
我还试图在setImageResource
之前/之后在回调之外拨打startAnimation
。
有什么想法吗?
提前谢谢。