2012-11-30 5 views
17

Universal Image Loaderで読み込んだ画像の代わりに回転している "不確定" ProgressBarを表示する仕組みがあるのだろうかと思っていました。Universal Image Loaderで画像をロード中に不確定なProgressBarを表示

DisplayImageOptionsでshowStubImage()オプションを使用して、画像のダウンロード中に「画像がありません」という画像を表示していますが、上に回転している不確定なProgressBarがあるかどうかを見ると、画像がダウンロードされている間にImageViewの

答えて

54

For reference

final View imageLayout = inflater.inflate(R.layout.item_pager_image, null); 
final ImageView imageView = ... 
final ProgressBar spinner = ... 

imageLoader.displayImage(images[position], imageView, options, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingStarted(String imageUri, View view) { 
     spinner.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 
     spinner.setVisibility(View.GONE); 
    } 

    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     spinner.setVisibility(View.GONE); 
    } 
}); 
+0

素早く回答いただきありがとうございます。 – DiscDev

+0

ありがとうございます。私はそれを使用していないが、それは私にActionBar ProgressBarを使用するアイデアを与えた: –

+2

@NOSTRAリンクは404 –

1

私はウェブから画像をダウンロードするために使用されたグリッドアダプタクラスのコードを投稿しています。 imageviewと2つのtextviewsのグリッドレイアウトを宣言する必要があります。文字列配列をアダプタに渡します。

@Override 
public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    // TODO Auto-generated method stub 
    LayoutInflater inflater = (LayoutInflater) parent.getContext().getSystemService(activity.LAYOUT_INFLATER_SERVICE); 
    //LayoutInflater inflator = activity.getLayoutInflater(); 
    if(convertView==null) 
    { 
     view = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.grid_layout, null); 
     view.txtViewTitle = (TextView) convertView.findViewById(R.id.title); 
     view.txtViewSubTitle = (TextView) convertView.findViewById(R.id.subTitle); 
     view.imgViewFlag = (ImageView) convertView.findViewById(R.id.imageView1); 
     convertView.setTag(view); 
    } 
    else 
    { 
     view = (ViewHolder) convertView.getTag(); 
    } 

    view.txtViewTitle.setText(listTitle.get(position)); 
    view.txtViewSubTitle.setText(listSubTitle.get(position)); 

    //For Picasso 
/* Picasso.with(parent.getContext()) 
      .load("http://www.radioarpan.com/upload_images/138630281911.jpg") 
      .placeholder(R.mipmap.paceholder) 
      .error(R.mipmap.error_page_logo) 
      .noFade().resize(125,165) 
      .centerCrop() 
      .into(view.imgViewFlag);*/ 



    ImageLoader imageLoader = ImageLoader.getInstance(); 
    DisplayImageOptions.Builder options = new DisplayImageOptions.Builder().cacheInMemory(true) 
      .cacheOnDisc(true).resetViewBeforeLoading(true) 
      .showImageForEmptyUri(R.mipmap.paceholder) 
      .showImageOnFail(R.mipmap.error_page_logo); 


    final ProgressBar spinner = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall); 
//download and display image from url 
     imageLoader.displayImage("http://www.radioarpan.com/upload_images/138630281911.jpg", view.imgViewFlag,new SimpleImageLoadingListener() 
    { 
     @Override 
     public void onLoadingStarted(String imageUri, View view) 
     { 
      spinner.setVisibility(View.VISIBLE); 
     } 

     @Override 
     public void onLoadingFailed(String imageUri, View view, FailReason failReason) 
     { 
      spinner.setVisibility(View.GONE); 
     } 

     @Override 
     public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) 
     { 
      spinner.setVisibility(View.GONE); 
     } 
    }); 
+0

ここにコードを適切に配置する方法がわかりません。最後の投稿形式は残念です –

関連する問題