setImageResource导致动画不起作用

时间:2012-06-08 12:04:11

标签: android animation imageview

我遇到动画问题和设置图片资源。

我希望在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

有什么想法吗?

提前谢谢。

0 个答案:

没有答案