如何在动画完成之前显示下一行

时间:2010-07-29 22:27:08

标签: android animation

我试图解决这个问题好几天,但现在我在这里试试运气。

我使用延迟加载在自定义adaper中显示我的图像。 我想在下载文件时淡入图像。

这是有效但线程在动画开启时停止

public void run()
    {
        if(bitmap!=null) {
    myProgressBar.setVisibility(View.INVISIBLE);
    imageView.setVisibility(View.VISIBLE);
    Animation animation = new AlphaAnimation(0.0f,1.0f);
    animation.setDuration(800);
    imageView.startAnimation(animation);
    imageView.setImageBitmap(bitmap);
        }else {
            myProgressBar.setVisibility(View.VISIBLE);
            imageView.setVisibility(View.INVISIBLE);
            imageView.setImageResource();
        }

我想要做的就是显示下一行,即使私有动画没有完成。

任何想法?

1 个答案:

答案 0 :(得分:0)

这是因为线程

之后没有更多的东西要执行
imageView.setImageBitmap(bitmap);

已到达。

虽然您将持续时间设置为800毫秒,但Java不会在startAnimation行等待,直到800毫秒结束。如果你想在动画完成后停止你的线程,我建议使用AnimationListener在动画结束时收到通知。