Android ImageView 显示本地图片

布局文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8.  
  9. <ImageView
  10. android:id="@+id/img"
  11. android:layout_width="200dp"
  12. android:layout_height="200dp"
  13. android:layout_centerHorizontal="true"
  14. android:layout_marginTop="50dp"
  15. android:background="#aa111222"
  16. android:onClick="getPicture"
  17. />
  18. </RelativeLayout>

主文件

  1. package com.example.administrator.getpicture;
  2.  
  3. import android.app.Activity;
  4. import android.content.ContentResolver;
  5. import android.content.Intent;
  6. import android.graphics.Bitmap;
  7. import android.graphics.BitmapFactory;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.provider.MediaStore;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.ImageView;
  14.  
  15. import java.io.InputStream;
  16.  
  17. public class MainActivity extends Activity {
  18.  
  19. private ImageView img;
  20. @Override
  21. protected void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.activity_main);
  24. img = (ImageView)this.findViewById(R.id.img);
  25. }
  26. //图片点击事件
  27. public void getPicture(View v)
  28. {
  29. Intent intent = new Intent(Intent.ACTION_PICK,null);
  30. intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
  31. //intent 待启动的Intent 100(requestCode)请求码,返回时用来区分是那次请求
  32. startActivityForResult(intent ,100);
  33. }
  34. @Override
  35. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  36. //返回成功,请求码(对应启动时的requestCode)
  37. if(resultCode == RESULT_OK && requestCode==100)
  38. {
  39. //方式一(不建议使用)
  40. //下面的一句代码,也可以把图片显示在ImageView中
  41. //但图片过大的时候,将无法显示,所以
  42. //img.setImageURI(data.getData());
  43.  
  44. //方式二
  45. Uri uri = data.getData();
  46. ContentResolver cr = this.getContentResolver();
  47. try {
  48. //根据Uri获取流文件
  49. InputStream is = cr.openInputStream(uri);
  50. BitmapFactory.Options options = new BitmapFactory.Options();
  51. options.inSampleSize =3;
  52. Bitmap bitmap = BitmapFactory.decodeStream(is,null,options);
  53. img.setImageBitmap(bitmap);
  54. }
  55. catch(Exception e)
  56. {
  57. Log.i("lyf", e.toString());
  58. }
  59. }
  60. super.onActivityResult(requestCode, resultCode, data);
  61. }
  62. }

对了,别忘了加权限

  1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  2.  
  3. 希望可以帮到大家。
  4.  

Android ImageView显示本地图片的更多相关文章

  1. Android imageview显示圆形图片

    需要ImageView显示圆形图片做法如下 public static Bitmap toRoundCorner(Bitmap bitmap, float ratio) { System.out.pr ...

  2. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...

  3. Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果

    大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...

  4. 设置ImageView显示的图片铺满全屏

    转自:http://m.blog.csdn.net/blog/wjwj1203/32334459   为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...

  5. Atitit. html 使用js显示本地图片的设计方案.doc

    Atitit. html 使用js显示本地图片的设计方案.doc 1.  Local mode  是可以的..web模式走有的不能兰.1 2. IE8.0 显示本地图片 img.src=本地图片路径无 ...

  6. Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案

    Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成  ...

  7. 在InternetExplorer.Application中显示本地图片

    忘记了,喜欢一个人的感觉 Demon's Blog  »  程序设计  »  在InternetExplorer.Application中显示本地图片 « 对VBS效率的再思考——处理二进制数据 Wo ...

  8. Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)

    ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...

  9. Android用ImageView显示本地和网上的图片

    ImageView是Android程序中经常用到的组件,它将一个图片显示到屏幕上. 在UI xml定义一个ImageView如下: public void onCreate(Bundle savedI ...

随机推荐

  1. 关于struts2.0 中 struts.xml设置了struts.devMode 的值为TRUE后仍然不起作用的分析

    首先确认jdk 和tomcat的环境变量是否配置正确. 下面是配置方式 jdk的环境变量配置步骤: 安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量- ...

  2. Day6 google Geocoding API

    在看机器学习实战中K-means一章,练习中需要调用Yahoo PlaceFinder API 为地点添加经纬度,语言是python.申请到了appid但调用好像还要收费,要填写银行卡号才能用,没管那 ...

  3. Ubuntu12.04安装vscode i386

    最近在Ubuntu12.04的32位版本上安装vscode,我下载的是32位deb包,  vscode官网 安装命令 sudo dpkg -i vscode-i386.deb 安装完成没有报错,但是点 ...

  4. centos启用ftp功能

    1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不 ...

  5. ubuntu下mysql的常用命令,MySQL数据库的基本操作命令

    一.mysql服务操作 0.查看数据库版本 sql-> status; 1.net start mysql //启动mysql服务 2.net stop mysql //停止mysql服务  3 ...

  6. HttpClient_4 用法 由HttpClient_3 升级到 HttpClient_4 必看

    转自:http://www.blogjava.net/stevenjohn/archive/2012/09/26/388609.html HttpClient程序包是一个实现了 HTTP 协议的客户端 ...

  7. 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  8. 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)

    原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...

  9. 快速理解Java中的五种单例模式

    解法一:只适合单线程环境(不好) package test; /** * @author xiaoping * */ public class Singleton { private static S ...

  10. LEETCODE —— binary tree [Same Tree] && [Maximum Depth of Binary Tree]

    Same Tree Given two binary trees, write a function to check if they are equal or not. Two binary tre ...