我试图解决这个问题好几天,但现在我在这里试试运气。
我使用延迟加载在自定义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();
}
我想要做的就是显示下一行,即使私有动画没有完成。
任何想法?
答案 0 :(得分:0)
这是因为线程
之后没有更多的东西要执行imageView.setImageBitmap(bitmap);
已到达。
虽然您将持续时间设置为800毫秒,但Java不会在startAnimation行等待,直到800毫秒结束。如果你想在动画完成后停止你的线程,我建议使用AnimationListener在动画结束时收到通知。