安卓ImageView的几种资源调用方法
来源:互联网 发布:centos 6.5 安装php7 编辑:程序博客网 时间:2024/05/22 11:36
给ImageView添加资源有好几种几种形式,这篇文章就是对这几种形式的详解。
<ImageView android:id="@+id/iv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/longshuai" <!-- longshuai.png为图片的名称,记在资源文件里头,不用文件名后缀-->/>
提示:强调一下,资源文件的图片命名规则比较严格,由[a-z]和数字和“_”组成,而且不能数字开头,我就常犯傻,命名老是数字或者大写字母开头,这种错误。
ImageView iv= (ImageView)this.findViewById(R.id.iv1);
直接通过APP内部资源
1.iv.setImageResource(R.drawable.icon)
2.iv.setImageDrawable(getResources().getDrawable(R.drawable.icon)
setImageResource是同步的,资源图片的读取和解码都是在主线程中进行的.setImageDrawable是异步的,加载速度的区别。
setImageResource要快于setImageDrawable和setImageBitmap.
iv.setScaleType(ImageView.ScaleType.FIT_XY); //为imageview设定尺寸形式
iv.setLayoutParams(new Gallery.LayoutParams(136,88));//为imageview设置大小
直接通过系统文件路径
3.String fileName = "/data/data/com.test/aa.png;
Bitmap bm = BitmapFactory.decodeFile(fileName);
也可以=BitmapFactory.decodeResource(getResources(),R.drawable.location_marker));
iv.setImageBitmap(bm);
通过SD卡上获得路径URI变成bitmap
4.Uri uri = data.getData();
ContentResolver cr=getContentResolver();
bitmap= MediaStore.Images.Media.getBitmap(cr, uri);
或者
InputStream is=cr.openInputStream(uri);
bitmap=BitmapFactory.decodeStream(is);
iv.setimageBitmap(bitmap);
URI扩展
bitmap和URI互换
Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, null,null));
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
文件和URI互换将文件转为URI
Uri.parse("file://"+ file.getAbsolutePath())
或者Uri.fromFile(file);
将URI转为文件
1.private File uri2File(Uri uri) { 2. File file = null; String[] proj = { MediaStore.Images.Media.DATA }; 3.Cursor actualimagecursor = getActivity().managedQuery(uri, proj, null, null, null); 4. int actual_image_column_index = actualimagecursor 5. .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 6. actualimagecursor.moveToFirst(); 7. String img_path = actualimagecursor 8. .getString(actual_image_column_index); 9. file = new File(img_path); 10. return file; 11. }
通过网络路径获取图片
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5555);// 设置连接网络超时时间
conn.setRequestMethod("GET");// 设置 URL 请求的方法,
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
- 安卓ImageView的几种资源调用方法
- 安卓 imageview资源图片ID获取方法
- 安卓 imageview资源图片ID获取方法
- [Android]调用字符串资源的几种方法
- Android中调用字符串资源的几种方法
- [Android]调用字符串资源的几种方法
- [Android]调用字符串资源的几种方法
- [Android]调用字符串资源的几种方法
- 安卓设置imageview 背景图片资源
- 安卓从imageview中获得bitmap的方法
- 解析给ImageView设置资源的五种方法
- 安卓开发学习之016 ImageView(二)图片的N种获取方法
- Android绘制圆形ImageView的几种实现方法
- 安卓中的几种使用SQLite的方法
- 安卓开发退出程序的几种方法
- 安卓实现组件间通信的几种方法
- 读书笔记之安卓实现滑动的几种方法
- 安卓UI控件拖拽的几种方法
- 深入理解Java内存模型(五)——锁
- 20171121memo
- 优先考虑泛型方法。
- 从海航现代物流深入学习十九大精神看海航好不好
- 多条件查询数据库表中记录
- 安卓ImageView的几种资源调用方法
- 单词表示数字-LintCode
- 227. Basic Calculator II
- 深入理解Java内存模型(六)——final
- 短信轰炸机
- 版本更新管理
- java设计模式
- 微信开放实战--扫一扫功能(详细)
- SpringBoot初窥:application.properties配置