从服务器下载图像到图像视图时显示进度
Show Progress while downloading image from server into imageview
我是 ListView 并想显示进度,直到图像未使用 Picasso 库从服务器下载到 ImageView,在将图像从服务器下载到 ImageView 时仍然显示 ic_launcher 可绘制,但如果我想显示进度
Picasso.with(context)
.load(imageURL)
.transform(transformation)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.into(viewHolder.imageView);
我想你可以使用 Picasso 的 Target Class
Target t = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
//hideProgress
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
//hideProgress
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
//lshow Progress
}
};
Picasso.with(context)
.load(strImage)
.transform(transformation)
.placeholder(R.drawable.nothing_found)
.error(R.drawable.nothing_found)
.into(t);
在您的 xml 文件中,您必须将进度条放在图像上方,设置进度条可见性,并在您的代码中
Picasso.with(context)
.load(file)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
progressbar.setVisibility(View.GONE);
}
});
下载图像时,您必须 setVisibility(View.GONE) 到进度条
将 ProgressBar 添加到放置 ImageView 的 XML 中,或者以编程方式进行。那么你可以这样做:
ProgressBar progressBar ; //initialize it as you dud with the imageView
progressBar.setVisibility(View.VISIBLE);
Picasso.with(context)
.load(imageURL)
.transform(transformation)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.into(viewHolder.imageView, new Callback() {
@Override
public void onSuccess() {
progressBar.setVisibility(View.GONE);
}
@Override
public void onError() {
}
});
在过去的 Google 泰国开发者峰会上,Google 向我们介绍了由 bumptech 开发的名为 Glide 的图像加载程序库 Android 作为 Google 推荐的库.到目前为止,它已经在许多 Google 个开源项目中使用,包括 Google I/O 2014 年正式应用。
它成功地引起了我的兴趣。我花了一晚上的时间玩弄它,并决定在此博客中分享我的经验post。首先,我必须说它看起来与毕加索 90% 相似。更准确地说,我认为它是毕加索的复制品。
反正细节上还是很不一样的。您将了解如何操作。
http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setMessage("Wait a moment, loading image...");
mProgressDialog.setCanceledOnTouchOutside(false);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
Picasso.with(getActivity()).load(mImagePath).into(mImageView, new Callback() {
@Override
public void onSuccess() {
mProgressDialog.dismiss();
}
@Override
public void onError() {
mProgressDialog.dismiss();
Toast.makeText(getActivity(), "Download failed", Toast.LENGTH_LONG).show();
}
});
我是 ListView 并想显示进度,直到图像未使用 Picasso 库从服务器下载到 ImageView,在将图像从服务器下载到 ImageView 时仍然显示 ic_launcher 可绘制,但如果我想显示进度
Picasso.with(context)
.load(imageURL)
.transform(transformation)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.into(viewHolder.imageView);
我想你可以使用 Picasso 的 Target Class
Target t = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
//hideProgress
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
//hideProgress
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
//lshow Progress
}
};
Picasso.with(context)
.load(strImage)
.transform(transformation)
.placeholder(R.drawable.nothing_found)
.error(R.drawable.nothing_found)
.into(t);
在您的 xml 文件中,您必须将进度条放在图像上方,设置进度条可见性,并在您的代码中
Picasso.with(context)
.load(file)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
progressbar.setVisibility(View.GONE);
}
});
下载图像时,您必须 setVisibility(View.GONE) 到进度条
将 ProgressBar 添加到放置 ImageView 的 XML 中,或者以编程方式进行。那么你可以这样做:
ProgressBar progressBar ; //initialize it as you dud with the imageView
progressBar.setVisibility(View.VISIBLE);
Picasso.with(context)
.load(imageURL)
.transform(transformation)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.into(viewHolder.imageView, new Callback() {
@Override
public void onSuccess() {
progressBar.setVisibility(View.GONE);
}
@Override
public void onError() {
}
});
在过去的 Google 泰国开发者峰会上,Google 向我们介绍了由 bumptech 开发的名为 Glide 的图像加载程序库 Android 作为 Google 推荐的库.到目前为止,它已经在许多 Google 个开源项目中使用,包括 Google I/O 2014 年正式应用。
它成功地引起了我的兴趣。我花了一晚上的时间玩弄它,并决定在此博客中分享我的经验post。首先,我必须说它看起来与毕加索 90% 相似。更准确地说,我认为它是毕加索的复制品。
反正细节上还是很不一样的。您将了解如何操作。
http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setMessage("Wait a moment, loading image...");
mProgressDialog.setCanceledOnTouchOutside(false);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
Picasso.with(getActivity()).load(mImagePath).into(mImageView, new Callback() {
@Override
public void onSuccess() {
mProgressDialog.dismiss();
}
@Override
public void onError() {
mProgressDialog.dismiss();
Toast.makeText(getActivity(), "Download failed", Toast.LENGTH_LONG).show();
}
});