2016-11-15 5 views
0

Kann VOLLEY verwendet werden, um Bilder aus dem Zeichnungsordner zu laden? U verwendet die von der Bahn zu laden, aber in einigen Fällen würde Ich mag von ziehbar laden:Volley-Bild - Laden von Ressource

// Load image 
ImageRequest ImageRequest = new ImageRequest(events_image_01, 
     new Response.Listener<Bitmap>() { 
      @Override 
      public void onResponse(Bitmap response) { 
       background.setImageBitmap(response); 
      } 
     }, 0, 0, ImageView.ScaleType.FIT_XY, null, new Response.ErrorListener(){ 
    @Override 
    public void onErrorResponse(VolleyError error) { 
     Toast.makeText(getContext(), "Sorry! Error Loading Image", Toast.LENGTH_SHORT).show(); 
     error.printStackTrace(); 
    } 
}); 
MySingleton.getmInstance(getActivity()).addToRequestQueue(ImageRequest); 
+0

warum nicht nur- background.setImageDrawable (getDrawable (R.drawable.yourDrawable)) – X3Btel

+0

Da selbst nach dem Laden ein paar kleine Bilder ich nicht mehr im Cache. Vor allem auf älteren Android-Versionen. versuchte Picasso vorher, aber bis jetzt mag ich Volleyball mehr. –

+0

Volley ist Netzwerk-Bibliothek können Sie natürlich ImageRequest erweitern und benutzerdefinierte ImageRequest, die Web-Arbeit nicht macht, aber die Bitmap zurückgibt, aber ich sehe nicht, wie dies wäre besser als nur die Einstellung der ImageDrawable – X3Btel

Antwort

0

Volley ist nicht wirklich entworfen für die Bild Laden, aber es kann es tun. Was Sie wirklich wollen, ist eine dieser beiden Bibliotheken, die sowohl sehr einfache Syntax und zu handhaben fast alles, was für Sie (Download, Größe ändern, Caching):

Glide https://github.com/bumptech/glide

Picasso http://square.github.io/picasso/

Allgemein Die Wahrnehmung ist, dass Glide für die meisten Fälle besser ist (Picasso kann Widgets out of the box machen), und es ist mein Favorit für die meisten Anwendungen. Es gibt noch andere Möglichkeiten gibt (Fresko, wenn Sie viel Kontrolle wollen), aber diese sind die zwei am einfachsten nur in Tropfen

Für Ihren Anwendungsfall könnten Sie tun:.

Drawable: Glide.with (Kontext) .load (R.drawable.my_image_resouce) .into (imageView);

URL: Glide.with (Kontext) .load (myUrl) .into (imageView);

Verwandte Themen