2016-11-15 96 views
0

是否可以使用VOLLEY從可繪製文件夾加載圖像? ü使用從網絡加載,但在某些情況下,我想從繪製加載:排球圖像 - 從資源加載

// 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

爲什麼不是just- background.setImageDrawable(getDrawable(R.drawable.yourDrawable)) – X3Btel

+0

因爲即使在加載了幾張小圖像之後,我用完了緩存。特別是在較舊的Android版本上。之前嘗試過畢加索,但到目前爲止,我更喜歡凌空抽射。 –

+0

Volley是網絡庫,你可以當然擴展ImageRequest並使自定義ImageRequest不做網絡工作,但返回位圖,但我不知道這會比只設置imageDrawable – X3Btel

回答

0

排球是不是真的設計的圖像加載,但它可以做到這一點。你真正想要的是這兩個庫之一,這兩者都具有非常簡單的語法和處理幾乎一切都是爲了你(下載,調整大小,緩存):

滑翔 https://github.com/bumptech/glide

畢加索 http://square.github.io/picasso/

一般認爲Glide對於大多數情況來說都更好(畢加索可以開箱即可完成Widgets),而且這是我對大多數應用程序的開始。還有其他的選擇了(壁畫,如果你想大量控制的),但是這是兩個最簡單的只是下降

您的使用情況下,你可以這樣做:

繪製對象: Glide.with (上下文).load(R.drawable.my_image_resouce).into(ImageView的); Glide.with(context).load(myUrl).into(imageView);其中,glide.with(context).load(myUrl).into(imageView); glide.with(context).load(myUrl).into(imageView); glg.with