2014-06-13 45 views
-1

如何显示一些使用ImageLoader.displayImage()以编程方式创建的可绘制对象?使用通用图像加载程序显示可绘制

根据文档:

String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch) 

这仅适用于使用资源可绘制

编辑:我想要做的事,如:

Drawable drawable = ... 
myImageView.setImageDrawable(drawable); // Using ImageLoader 
+0

你能解释一下你的问题吗? –

+0

@Ultimo_m检查编辑... – user222

+0

请参阅我编辑的答案 –

回答

0
if(url != null && url != "") 
    loader.displayImage(URLProtocol.parseURL(url, false), image) 
else 
    image.setImageResource(R.drawable.yourdrawable) 

如果你想显示使用ImageLoad插件代替URL图像的局部可绘制,您可以简单地检查您的URL是否存在,如果不存在,您可以简单地将drawable设置为ImageView的图像。

+0

我的绘图以编程方式创建,它不是文件或资源 – user222

0

如果您从该Drawable创建一个Bitmap,然后将其保存到文件,最好的解决方案是。

用此方法可绘制得到位图:

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

相关问题