我已经以编程方式定义了一个图像视图,并使用从webservice下载的图像异步更新它。
现在,我想在图像视图中添加一个进度条,以便图像视图显示进度条,直到图像加载为止。我没有在xml文件中定义imageview,因为我在水平滚动视图中更新它。
请拼命帮忙...... !!!
这是我正在更新图像视图的代码
protected ImageView asImageView(final String message,final String path){
final ImageView iv=new ImageView(this);
AsyncImageLoaderv asyncImageLoaderTop = new AsyncImageLoaderv();
Bitmap cachedImageTop=
asyncImageLoaderTop.loadDrawable(
path, new AsyncImageLoaderv.ImageCallback() {
public void imageLoaded(Bitmap imageDrawable,
String imageUrl) {
iv.setImageBitmap(imageDrawable);
}
});
iv.setImageBitmap(cachedImageTop);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
LinearLayout.LayoutParams params= new LinearLayout.LayoutParams(100,120);
params.setMargins(10, 10, 10, 10);
iv.setLayoutParams(params);
iv.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
startActivity(new Intent(getApplicationContext(),
ShowPhotoActivity.class).putExtra("imagePath",
path).putExtra("message", message));
}
});
return iv;
}
答案 0 :(得分:3)
我知道这已经有几年了,但我想我还会发帖,因为它可能会帮助将来的某个人......
您应该使用Koush提供的库。它非常简单直接。此外,它会自动处理所有复杂的东西!
https://github.com/koush/UrlImageViewHelper
上面的URL提供了文档和进一步说明 - 无需在此处重现。
答案 1 :(得分:1)
我刚遇到类似的问题。 我不确定您是否可以在ImageView上插入ProgressBar,但您可以将其显示在imageview的位置,然后使用setVisibility(View.GONE)隐藏它。 我看到你的函数返回ImageView。也许它可以返回View类型,然后如果没有图像,它可以返回一个ProgressBar,它也是一个View? 或者,您可以创建和使用您的AnimationDrawable。