Android ImageView显示本地图片
Android ImageView 显示本地图片
布局文件
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity">
- <ImageView
- android:id="@+id/img"
- android:layout_width="200dp"
- android:layout_height="200dp"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="50dp"
- android:background="#aa111222"
- android:onClick="getPicture"
- />
- </RelativeLayout>
主文件
- package com.example.administrator.getpicture;
- import android.app.Activity;
- import android.content.ContentResolver;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.net.Uri;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.util.Log;
- import android.view.View;
- import android.widget.ImageView;
- import java.io.InputStream;
- public class MainActivity extends Activity {
- private ImageView img;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- img = (ImageView)this.findViewById(R.id.img);
- }
- //图片点击事件
- public void getPicture(View v)
- {
- Intent intent = new Intent(Intent.ACTION_PICK,null);
- intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
- //intent 待启动的Intent 100(requestCode)请求码,返回时用来区分是那次请求
- startActivityForResult(intent ,100);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- //返回成功,请求码(对应启动时的requestCode)
- if(resultCode == RESULT_OK && requestCode==100)
- {
- //方式一(不建议使用)
- //下面的一句代码,也可以把图片显示在ImageView中
- //但图片过大的时候,将无法显示,所以
- //img.setImageURI(data.getData());
- //方式二
- Uri uri = data.getData();
- ContentResolver cr = this.getContentResolver();
- try {
- //根据Uri获取流文件
- InputStream is = cr.openInputStream(uri);
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inSampleSize =3;
- Bitmap bitmap = BitmapFactory.decodeStream(is,null,options);
- img.setImageBitmap(bitmap);
- }
- catch(Exception e)
- {
- Log.i("lyf", e.toString());
- }
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
对了,别忘了加权限
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- 希望可以帮到大家。
Android ImageView显示本地图片的更多相关文章
- Android imageview显示圆形图片
需要ImageView显示圆形图片做法如下 public static Bitmap toRoundCorner(Bitmap bitmap, float ratio) { System.out.pr ...
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...
- 设置ImageView显示的图片铺满全屏
转自:http://m.blog.csdn.net/blog/wjwj1203/32334459 为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...
- Atitit. html 使用js显示本地图片的设计方案.doc
Atitit. html 使用js显示本地图片的设计方案.doc 1. Local mode 是可以的..web模式走有的不能兰.1 2. IE8.0 显示本地图片 img.src=本地图片路径无 ...
- Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成 ...
- 在InternetExplorer.Application中显示本地图片
忘记了,喜欢一个人的感觉 Demon's Blog » 程序设计 » 在InternetExplorer.Application中显示本地图片 « 对VBS效率的再思考——处理二进制数据 Wo ...
- Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)
ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...
- Android用ImageView显示本地和网上的图片
ImageView是Android程序中经常用到的组件,它将一个图片显示到屏幕上. 在UI xml定义一个ImageView如下: public void onCreate(Bundle savedI ...
随机推荐
- 关于struts2.0 中 struts.xml设置了struts.devMode 的值为TRUE后仍然不起作用的分析
首先确认jdk 和tomcat的环境变量是否配置正确. 下面是配置方式 jdk的环境变量配置步骤: 安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量- ...
- Day6 google Geocoding API
在看机器学习实战中K-means一章,练习中需要调用Yahoo PlaceFinder API 为地点添加经纬度,语言是python.申请到了appid但调用好像还要收费,要填写银行卡号才能用,没管那 ...
- Ubuntu12.04安装vscode i386
最近在Ubuntu12.04的32位版本上安装vscode,我下载的是32位deb包, vscode官网 安装命令 sudo dpkg -i vscode-i386.deb 安装完成没有报错,但是点 ...
- centos启用ftp功能
1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不 ...
- ubuntu下mysql的常用命令,MySQL数据库的基本操作命令
一.mysql服务操作 0.查看数据库版本 sql-> status; 1.net start mysql //启动mysql服务 2.net stop mysql //停止mysql服务 3 ...
- HttpClient_4 用法 由HttpClient_3 升级到 HttpClient_4 必看
转自:http://www.blogjava.net/stevenjohn/archive/2012/09/26/388609.html HttpClient程序包是一个实现了 HTTP 协议的客户端 ...
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...
- 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)
原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...
- 快速理解Java中的五种单例模式
解法一:只适合单线程环境(不好) package test; /** * @author xiaoping * */ public class Singleton { private static S ...
- 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 ...