在EditText里插入图片,基于图库选择之后
现在在做一个便签,用到记录一下。
![](/assets/blank.gif)
![](/assets/blank.gif)
//onActivityResult Uri uri=data.getData();// 通过URI得到图片在系统的路径// String[] proj = {MediaStore.Images.Media.DATA};////好像是android多媒体数据库的封装接口,具体的看Android文档// Cursor cursor = managedQuery(uri, proj, null, null, null); ////按我个人理解 这个是获得用户选择的图片的索引值// int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);////将光标移至开头 ,这个很重要,不小心很容易引起越界// cursor.moveToFirst();////最后根据索引值获取图片路径// String path = cursor.getString(column_index); Bitmap pic = null; pic = getBitmap(data.getData()); insertIntoEditText(getBitmapMime(pic, uri));
函数如下
![](/assets/blank.gif)
![](/assets/blank.gif)
/** * 通过路径获取系统图片 * @param uri * @return*/private Bitmap getBitmap(Uri uri) { Bitmap pic = null; BitmapFactory.Options op = new BitmapFactory.Options(); op.inJustDecodeBounds = true; Display display = getWindowManager().getDefaultDisplay();int dw = display.getWidth();int dh = display.getHeight();try { pic = BitmapFactory.decodeStream(getContentResolver() .openInputStream(uri), null, op); } catch (FileNotFoundException e) { e.printStackTrace(); }int wRatio = (int) Math.ceil(op.outWidth / (float) dw);int hRatio = (int) Math.ceil(op.outHeight / (float) dh);if (wRatio > 1 && hRatio > 1) { op.inSampleSize = wRatio + hRatio; } op.inJustDecodeBounds = false;try { pic = BitmapFactory.decodeStream(getContentResolver() .openInputStream(uri), null, op); } catch (FileNotFoundException e) { e.printStackTrace(); }return pic; }/** * 图片转成SpannableString加到EditText中 * * @param pic * @param uri * @return*/private SpannableString getBitmapMime(Bitmap pic, Uri uri) {// int imgWidth = pic.getWidth();// int imgHeight = pic.getHeight();// float scalew = (float) 40 / imgWidth;// float scaleh = (float) 40 / imgHeight;// Matrix mx = new Matrix();// mx.setScale(scalew, scaleh);// pic = Bitmap.createBitmap(pic, 0, 0, imgWidth, imgHeight, mx, true); String smile = uri.getPath(); SpannableString ss = new SpannableString(smile); ImageSpan span = new ImageSpan(this, pic); ss.setSpan(span, 0, smile.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);return ss; } /** * 这里是重点*/private void insertIntoEditText(SpannableString ss) { Editable et = editText_Content.getText();// 先获取Edittext中的内容 int start = editText_Content.getSelectionStart(); et.insert(start, ss);// 设置ss要添加的位置 editText_Content.setText(et);// 把et添加到Edittext中 editText_Content.setSelection(start + ss.length());// 设置Edittext中光标在最后面显示 }}
转载于:https://www.cnblogs.com/helloandroid/articles/2284517.html
在EditText里插入图片,基于图库选择之后相关推荐
- word文档里插入图片显示不完整,只显示一半,怎么处理?
word文档里插入图片显示不完整,只显示一半,怎么处理? 目录 word文档里插入图片显示不完整,只显示一半,怎么处理? 1.把鼠标光标放置图片的末尾,然后点击鼠标右键,选择[段落]选项 2.在[缩进 ...
- wps中图片怎么居中_wps2010里插入图片如何使图片居中啊!
展开全部 wps2010里插入图片使图片居中的方法如下: 1.首先,打开"WPS文字",新建一个空白文档.然后,62616964757a686964616fe4b893e5b19e ...
- ecplise插入图片太大_【Excel里插入图片时很大怎么办?我想把他设置成自动适应表格的大小。】excel图片固定大小...
excel插入自适应单元格大小图片 excel入的图片可以设置自适应单元格大小而变化,具体操作如下: 一.使具:excel2010 二.操作步骤: 1.进入excel2010,点击"插入&q ...
- Android EditText中插入图片并响应点击事件
EditText中插入图片基本就是两种方法: 1,通过Html.fromHtml(..)来实现[mw_shl_code=java,true]eText.append(Html.fromHtml(&qu ...
- python数据写入表格生成图片_python在word文档里插入图片和表格实例代码演示
# -*- coding: UTF8 -*- from docx import Document from docx.shared import Pt doc = Document() # 文件存储路 ...
- element-ui在表格里插入图片或者链接等
element-ui在表格里插入图片或者链接等 最近在项目中遇到一个要求,需要在表格里插入图片或者显示链接之类的,如果按照下面的方式写 <el-table-columnlabel="博 ...
- winform剪贴板如何同时存储图片和文字_你真的会在Word里插入图片吗?没那么简单!...
点击上方[word精品教程]-右上角[...]-[设为星标⭐] 即可第一时间获取最新办公资讯 作者:Cxiaon 来源:松鼠App推荐站(ID:TuoYanSS) 今天来讲讲图片插入,经常会遇到一种 ...
- docxtpl - 向表格里插入图片
以写文件的形式将图片插入,循环变量,循环插入图片 # -*- coding: utf-8 -*- ''' Created : 2017-01-14@author: Eric Lapouyade ''' ...
- php xlsx里插入图片_常见的 PHP 面试题和答案分享
如何直接将输出显示给浏览器? 将输出直接显示给浏览器,我们必须使用特殊标记 <?=and?>. PHP 是否支持多重继承? PHP 只支持单继承.PHP 的类使用关键字 extends 继 ...
最新文章
- 本周六定位上海!解析百度文心(ERNIE)如何助力快速定制企业级NLP模型
- 从课堂走向实践还有多远?
- 福大软工1816:项目测评
- 怎么查看电脑内存和配置_电脑内存条如何选择?老司机带你如何选择电脑内存条...
- [vim]高亮查找匹配
- 秒杀多线程第十篇 生产者消费者问题
- “约见”面试官系列之常见面试题之第九十九篇之router的钩子函数(建议收藏)
- mysql.net连接器_关于mysql-connector-net在C#中的用法
- bellman ford优先队列优化简介模板
- imooc数据结构探险-栈篇 栈应用括号匹配二 由群友启发改良james_yuan老师算法
- redis 过期删除策略和淘汰策略 -redis设计与实现笔记
- 泛微协同办公平台E-cology8.0版本后台维护手册--组织权限中心
- Win11 Windows聚焦失效修复方法
- “御用”大数据为你揭秘:故宫,怎么这么“火”?
- flutter混编ios打包生成ipa文件
- 符合规则的c语言常量,c语言常量定义规则知识点总结
- android箭头的样式修改,安卓自定义控件 一个指示用的箭头
- AB(罗克韦尔)PLC如何通过程序直接与外插SD卡进行数据读写?
- matlab数表数据类型转换,[转载]Matlab 数据类型 五、表
- [Excel函数] VLOOKUP函数
热门文章
- mysql orm .net,2020年 .NET ORM 完整比较、助力选择
- nginx安装包_安装nginx与fastdfs-nginx-module
- Java设计模式(十七):责任链设计模式
- 怎么用git将本地代码上传到远程服务器_TortoiseGit将本地git仓库上传到远程git服务器方法...
- python读excel字体颜色_python 设置 excel 单元格颜色填充和字体效果
- 微信小程序左到右联动
- Boost.PropertyTree 属性树的简介
- 搭配飞行员 dinic
- WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)
- 韩顺平循序渐进学java 第19讲 多维数组