安卓控件使用系列5:EditText输入表情图片
EditText中如何输入自定义的表情图片呢,我们将实现的方法给大家分享一下。
这个例子是实现点击按钮,在文本控件中随机显示几个预订表情中的一个。
整体思路:产生一个随机数,用随机数和字符串拼成一个图片文件名(这里的字符串对于每一张图片是相同的,只是后面的数字不同);通过这个图片文件名找到对应的资源ID,将资源ID转换为位图;定义拆分字符串绑定位图,并把拆分字符串绑定到EditText控件上。
activity_main.xml文件:
<span style="color:#cc33cc;"> </span> <EditText android:id="@+id/edittext"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"/><Button android:id="@+id/button"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="添加qq表情"android:layout_below="@id/edittext"/>
MainActivity.java文件:
<span style="color:#cc33cc;"> </span>private Button button;private EditText edittext;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)findViewById(R.id.button);edittext=(EditText)findViewById(R.id.edittext);button.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {//产生1-4的随机数,其中Random().nextInt(4)这个方法可以产生0-3的随机数int randomId=1+new Random().nextInt(4);try {Field field=R.drawable.class.getDeclaredField("face"+randomId);int resourceId=Integer.parseInt(field.get(null).toString());//android中显示图片信息,必须使用Bitmap位图的对象来装载Bitmap bitmap=BitmapFactory.decodeResource(getResources(), resourceId);ImageSpan imageSpan=new ImageSpan(MainActivity.this,bitmap);//对字符串进行拆分的功能SpannableString spannableString=new SpannableString("face");spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);edittext.append(spannableString);} catch (Exception e) {// TODO: handle exception}}});}
安卓控件使用系列5:EditText输入表情图片相关推荐
- 安卓控件使用系列17:ImageView获取网络图片
安卓使用ImageView控件获取网络图片是我们在开发应用程序中常常用到的一个功能,我们来分享一下是怎么实现这一功能的. 这个例子是点击Button按钮,就会按照制定url地址找到图片的位置,并下载绑 ...
- 安卓控件使用系列2:TextView实现图文(图片和文字)混排
使用TextView实现图文混排是有些开发者并没有实现过,下面来介绍一下如何实现. 整体思路:首先定义根据资源文件的变量名返回资源文件ID的方法,定义指向图片资源文件变量名html格式的字符串,写一个 ...
- 安卓APP_ 控件(3)—— EditText
摘自:安卓APP_ 控件(3)-- EditText 作者:丶PURSUING 发布时间: 2021-03-29 18:43:40 网址:https://blog.csdn.net/weixin_44 ...
- Silverlight控件应用系列索引
Silverlight 控件应用系列 最后更新日期:2009-10-18 1.控制器类[Controls] 展开 闭合 日历组件(Calendar) 子窗体组件(ChildWindow) 非模式窗体组 ...
- DevExpress控件使用系列--ASPxTreeList
DevExpress控件使用系列--ASPxTreeList 控件功能 结合列表控件及树控件的优点,在列表控件中实现类型树的多层级操作 官方说明 http://documentation.devex ...
- ListView控件学习系列2-编辑ListView(Edit,Update,Insert,Delete)
目录: ListView控件学习系列1-了解ListView控件 ListView控件学习系列2-编辑ListView ListView控件学习系列3-ListView选择,排序,分页 ListVie ...
- 使用DataGridView数据窗口控件,构建用户快速输入体验
使用DataGridView数据窗口控件,构建用户快速输入体验 在"随风飘散" 博客里面,介绍了一个不错的DataGridView数据窗口控件<DataGridView数据窗 ...
- Android控件用法总结之EditText
最近毕业设计也快做完了,因为也是边学Android边做毕设,而且也因为是初学,所以用了比较长时间,现在也是希望记下这段时间写Android的一些技巧方法或者是问题. 首先是关于EditText这个控件 ...
- 今天你写控件了吗?----ASP.net控件开发系列之(一)开篇
今天你写控件了吗?----ASP.net控件开发系列之开篇 早段时间,同事之间很流行打CS,所以那段时间的问候变成了"今天你杀XX了吗?" 控件开发也许是程序员最能发掘自己创造力的 ...
最新文章
- python网络编程
- matlab cuda的.cu文件应该放在那里_App Store限免推荐|日历和文件管理、无尽狂奔、Scalak等,共5款...
- 教程丨亿万网友一起换头像欢庆新中国成立70周年,就差你了!
- java 动态获取IP地址(城市)
- 如何快速提升 Go 程序性能?
- 利用iptables实现SNAT及DNAT
- jquery开发手册(详细全面)
- 2020年下半年信息系统项目管理师综合知识真题试题解析
- cad计算机绘图入门,【菜鸟宝典】AutoCAD制图入门教学!
- 英语语法新思维初级分享
- c语言case后语句,switch语句中case后的标号是什么
- python小学口算题库生成器_口算题自动生成的小程序-L.A.SMILE自家用软件-口算题生成下载20060207-西西软件下载...
- HTML移动端 实现刻度尺效果
- C#敏感词汇过滤(不是正则)
- 安卓自动滑屏脚本_自动滑屏软件下载-自动滑屏 安卓版v3.1.0-PC6安卓网
- VC浏览器相关的学习(六)(IDispEventImpl包装的主要方法)
- 정부와동포 사고 전화해야
- 如何衡量和分配广告渠道?
- 多台计算机共享内存_共享内存多处理器和指令执行| 计算机架构
- 由先序遍历和中序遍历得到后序遍历和层次遍历(二叉树)
热门文章
- 宝贝三十六计V1.0 Cocos2d-x联网实战项目
- Indonesians Using Smartphones to Connect to the Internet
- IDC行业前景如何?IDC管理系统助力发展
- 怎么度量软件规模:代码行技术?LOC(Lines of Code,代码行)估算代码尺寸
- 栈的应用-判断表达式中括弧是否匹配(()、[]、{}三类括弧)
- 2022年深圳市企业技术改造申请指南
- Android学习整理 - 状态栏和虚拟导航键透明效果
- 400-集群聊天服务器的客户端开发
- wxpython dataviewmodel_wxPython + PyOpenGL 打造三维数据分析的利器!|CSDN 博文精选
- [转]用户体验与产品管理