2014-09-16 13 views
9

Sto cercando di inserire un cerchio di caricamento generico come segnaposto mentre un'immagine viene caricata con una libreria caricatore di immagini come Glide o Picasso.Come si può usare un segnaposto di caricamento che è uno spinner animato con caricatori di immagini come Glide, Picasso ecc.?

Non riesco, per la vita di me, a scoprire come si suppone di creare un drawable rotante da xml.

Ho provato a utilizzare AnimationDrawable in XML creando un elenco di animazioni, ma non viene nemmeno visualizzato (nemmeno statico).

Voglio solo avere un cerchio semplice che gira tutto da solo, il tutto in un xml drawable, così posso passare l'id come segnaposto al mio caricatore di immagini. Se questo non è possibile, la prego di dirmi ora, in modo da poter risparmiare un sacco di ricerca :)

EDIT: il codice per renderlo più chiaro, ho bisogno di un disegnabile filatura per questo comando Glide:

Glide.with(context) 
.load(imageUrl) 
.into(imageView) 
.placeHolder(R.drawable.spinning_loading_placeholder); 

Mentre l'immagine viene caricata, verrà mostrato un disegnatore segnaposto dove l'immagine sarà in seguito. Ho bisogno di un drawable che giri se stesso.

+2

Può un argomento https://github.com/bumptech/glide/issues/505 aiuterà? – CoolMind

+1

Hey CoolMind, grazie per la risposta! Non sono sicuro, dato che questa domanda ha anni, ma grazie per avermi indirizzato nella giusta direzione, sembra utile, forse tornerò alla tua risposta un giorno e sicuramente aiuta gli altri –

+0

A. Steenbergen, grazie! Capisco che sia passato troppo tempo, mi dispiace. Non ho questo problema ma recentemente ho avuto un problema con la visibilità ProgressBar (risolto con http://stackoverflow.com/a/38849129/2914140). Desidero anche allegare questi collegamenti: http://stackoverflow.com/questions/35305875/progress-bar-while-loading-image-using-glide e https://github.com/bumptech/glide/issues/232. – CoolMind

risposta

0

È possibile aggiungere un elemento ProgressBar al proprio XML di layout e quindi visualizzare/nascondere questo elemento in base alle esigenze. La vista ProgressBar è incorporata e già animata, non è richiesto alcun AnimationDrawable personalizzato.

+2

Grazie, ma questo non è ciò di cui ho bisogno. Sto usando la libreria di caricamento delle immagini di glide di bumbtech per caricare un elenco di immagini da un server, mentre le immagini stanno caricando un disegnatore di segnaposto è mostrato per ogni immagine in cui sarà in seguito l'immagine reale. Voglio che questo segnaposto sia un cerchio rotante animato per indicare che l'immagine si sta caricando e per questo ho bisogno che questo cerchio rotante sia un singolo drawable, nessun codice extra come animatori di oggetti o animazioni nel codice. Ho aggiunto del codice per renderlo più chiaro. –

+2

Hai mai trovato una soluzione a questa preoccupazione Doge? Anche in un vicolo alla ricerca di questo ... –

0

Si può usare qualcosa di simile:

Glide.with(mContext).load(imageUrl).asBitmap().centerCrop().into(new BitmapImageViewTarget(vh.avatarImageView) { 

     @Override 
     public void onLoadStarted(Drawable placeholder) { 
       vh.avatarImageView.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_placeholder)); 
     } 

     @Override 
     public void onLoadFailed(Exception e, Drawable errorDrawable) { 
      vh.avatarImageView.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_failed_download)); 
     } 

     @Override 
     protected void setResource(Bitmap resource) { 
      RoundedBitmapDrawable circularBitmapDrawable = 
        RoundedBitmapDrawableFactory.create(mContext.getResources(), resource); 
      circularBitmapDrawable.setCircular(true); 
      vh.avatarImageView.setImageDrawable(circularBitmapDrawable); 
     } 
    }); 
Problemi correlati