如何使用ImageLoader.displayImage()以编程方式显示一些drawable?
根据文件:
String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch)
这仅适用于资源绘图
编辑:我想做类似的事情:Drawable drawable = ...
myImageView.setImageDrawable(drawable); // Using ImageLoader
答案 0 :(得分:0)
if(url != null && url != "")
loader.displayImage(URLProtocol.parseURL(url, false), image)
else
image.setImageResource(R.drawable.yourdrawable)
如果您想使用ImageLoad插件显示本地drawable而不是URL图像,您只需检查您的URL是否存在,如果不存在,您只需将drawable设置为ImageView的图像。
答案 1 :(得分:0)
最好的解决方案是,如果您从该Drawable创建Bitmap
,然后将其保存到文件中。
使用它来从Drawable获取位图:
Drawable yourDrawable;
Bitmap bitmap = ((BitmapDrawable)yourDrawable).getBitmap();
从位图创建文件:
//create a file to write bitmap data
File f = File(context.getCacheDir(), filename);
f.createNewFile();
//Convert bitmap to byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
byte[] bitmapdata = bos.toByteArray();
//write the bytes in file
FileOutputStream fos = new FileOutputStream(f);
fos.write(bitmapdata);
fos.flush();
fos.close();
不要忘记明确许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
执行此操作后,您可以使用Universal Image Loader
将文件加载到ImageView