2016-11-15 86 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