我是ListView并希望显示进度,直到图像没有使用Picasso库从服务器下载到ImageView,仍然显示ic_launcher drawable,同时将图像从服务器下载到ImageView,但如果我想显示进度怎么办
Picasso.with(context)
.load(imageURL)
.transform(transformation)
.placeholder(R.drawable.ic_launcher)
.error(R.drawable.ic_launcher)
.into(viewHolder.imageView);
答案 0 :(得分:6)
在泰国谷歌开发者峰会上,谷歌向我们介绍了一款由bumptech开发的Android图像加载程序库,名为Glide,是谷歌推荐的库。到目前为止,它已被用于许多Google开源项目,包括Google I / O 2014官方应用程序。
它成功地让我感兴趣。我花了一整夜的时间玩它并决定在这篇博文中分享我的经验。作为一个开始,我必须说它看起来与毕加索相似90%。更准确地说,我认为它就像是毕加索 - 克隆。
无论如何,它的细节完全不同。你将学习如何。
http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
答案 1 :(得分:5)
在您的xml文件中,您必须将进度条放在图像上方,设置可见性的进度条可见且在您的代码中
Picasso.with(context)
.load(file)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
progressbar.setVisibility(View.GONE);
}
});
下载图片时,您必须 setVisibility(View.GONE)才能进度栏
答案 2 :(得分:2)
将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() {
}
});
答案 3 :(得分:1)
Delimiter ^^
CREATE TRIGGER maxfiveproducts BEFORE INSERT on Products
FOR EACH ROW BEGIN
set @cnt = (select count(*) from products p where p.customerId = new.customerId);
if (@cnt >= 10) then
signal allstate '45000' SET MESSAGE_TEXT = 'No more than 10 products per customer!';
end if;
end;
Delimiter ;
答案 4 :(得分:0)
我认为你可以使用毕加索的目标类
use Path::Tiny; #for path
my $local_file = path($out_dir, $file);
open my $local_fh, ">", $local_file or die "Can't write to $local_file:$!";
$ftp->get($file, $local_fh);