将图像从服务器下载到imageview时显示进度

时间:2015-07-31 06:45:21

标签: android android-progressbar picasso

我是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);

5 个答案:

答案 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);