2012-11-30 8 views
17

Ich frage mich, ob es einen Mechanismus gibt, der eine sich drehende "unbestimmte" ProgressBar anstelle des Bildes zeigt, während es mit Universal Image Loader geladen wird.Unbestimmte ProgressBar beim Laden des Bildes mit Universal Image Loader anzeigen

Momentan verwende ich die showStubImage() Option in DisplayImageOptions, um ein Bild anzuzeigen, dass "No Image" während das Bild heruntergeladen wird, aber es würde wirklich glatt aussehen, wenn eine unbestimmbare ProgressBar oben war von ImageView, während das Bild heruntergeladen wurde.

Antwort

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

Sieht gut aus, danke für die schnelle Antwort! – DiscDev

+0

Danke. Ich verwende es nicht, aber es gab mir die Idee, die ActionBar ProgressBar zu verwenden :) –

+2

@NOSTRA Link ist 404 –

1

ich die Netzadapterklasse Code bin Posting, das ich für das Herunterladen von Bildern aus dem Internet verwendet. Sie müssen ein Rasterlayout mit einem imageview und zwei textviews deklarieren. Übergeben Sie die Zeichenfolgenarrays an den Adapter.

@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

Ich bekomme nicht, wie Sie den Code hier angemessen platzieren. Sorry für das letzte Post-Format –