将 Imageview 设置为在 sdcard 中显示图像?

Posted

技术标签:

【中文标题】将 Imageview 设置为在 sdcard 中显示图像?【英文标题】:Set Imageview to show image in sdcard? 【发布时间】:2011-09-07 15:47:09 【问题描述】:

我在手机的 SD 卡中存储了一张图片。我想在图像视图中显示它。我知道文件的位置。在活动的 oncreate 上有一种简单的方法可以说类似

ImageView img = (ImageView) findViewById(R.id.imageView1);    
String path = Environment.getExternalStorageDirectory().toString() "Images/image.jpg";     
img.setsrc = path ;

如果有任何方法可以做到这一点,请告诉我。谢谢。

【问题讨论】:

【参考方案1】:
Bitmap bmp = BitmapFactory.decodeFile(pathName);
ImageView img;
img.setImageBitmap(bmp);

希望这会有所帮助。

【讨论】:

我无法加载图像大小为 1.98 MB 的位图,相机图片大小为 16M 像素。 如果位图不断被创建和设置在 ImageView 上,我们是否需要在位图上调用回收? 活动结束时图像会丢失,无论如何要使其永久化,还是我必须将路径字符串作为文本写入 sdcard 并每次都读取它?【参考方案2】:

我有这个可能有帮助的 sn-p:

File imageFile = new  File("/sdcard/example/image.jpg"); 
if(imageFile.exists())
    ImageView imageView= (ImageView) findViewById(R.id.imageviewTest);
    imageView.setImageBitmap(BitmapFactory.decodeFile(imageFile.getAbsolutePath()));

:)

【讨论】:

以上是关于将 Imageview 设置为在 sdcard 中显示图像?的主要内容,如果未能解决你的问题,请参考以下文章

通过 AsyncTask 下载图像并将其显示在 Imageview 中而不存储在 sdcard 中

在相机活动中将图像从drawable保存到sdcard

裁剪图像并保存到 sdcard (Android) 中的特定文件夹?

ImageView显示超大图片

如何将鼠标光标设置为在 GtkDrawingArea 上交叉?

JavaScript Mootools将文件类型设置为在新窗口中打开