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输入表情图片相关推荐

  1. 安卓控件使用系列17:ImageView获取网络图片

    安卓使用ImageView控件获取网络图片是我们在开发应用程序中常常用到的一个功能,我们来分享一下是怎么实现这一功能的. 这个例子是点击Button按钮,就会按照制定url地址找到图片的位置,并下载绑 ...

  2. 安卓控件使用系列2:TextView实现图文(图片和文字)混排

    使用TextView实现图文混排是有些开发者并没有实现过,下面来介绍一下如何实现. 整体思路:首先定义根据资源文件的变量名返回资源文件ID的方法,定义指向图片资源文件变量名html格式的字符串,写一个 ...

  3. 安卓APP_ 控件(3)—— EditText

    摘自:安卓APP_ 控件(3)-- EditText 作者:丶PURSUING 发布时间: 2021-03-29 18:43:40 网址:https://blog.csdn.net/weixin_44 ...

  4. Silverlight控件应用系列索引

    Silverlight 控件应用系列 最后更新日期:2009-10-18 1.控制器类[Controls] 展开 闭合 日历组件(Calendar) 子窗体组件(ChildWindow) 非模式窗体组 ...

  5. DevExpress控件使用系列--ASPxTreeList

    DevExpress控件使用系列--ASPxTreeList 控件功能 结合列表控件及树控件的优点,在列表控件中实现类型树的多层级操作  官方说明 http://documentation.devex ...

  6. ListView控件学习系列2-编辑ListView(Edit,Update,Insert,Delete)

    目录: ListView控件学习系列1-了解ListView控件 ListView控件学习系列2-编辑ListView ListView控件学习系列3-ListView选择,排序,分页 ListVie ...

  7. 使用DataGridView数据窗口控件,构建用户快速输入体验

    使用DataGridView数据窗口控件,构建用户快速输入体验 在"随风飘散" 博客里面,介绍了一个不错的DataGridView数据窗口控件<DataGridView数据窗 ...

  8. Android控件用法总结之EditText

    最近毕业设计也快做完了,因为也是边学Android边做毕设,而且也因为是初学,所以用了比较长时间,现在也是希望记下这段时间写Android的一些技巧方法或者是问题. 首先是关于EditText这个控件 ...

  9. 今天你写控件了吗?----ASP.net控件开发系列之(一)开篇

    今天你写控件了吗?----ASP.net控件开发系列之开篇 早段时间,同事之间很流行打CS,所以那段时间的问候变成了"今天你杀XX了吗?" 控件开发也许是程序员最能发掘自己创造力的 ...

最新文章

  1. python网络编程
  2. matlab cuda的.cu文件应该放在那里_App Store限免推荐|日历和文件管理、无尽狂奔、Scalak等,共5款...
  3. 教程丨亿万网友一起换头像欢庆新中国成立70周年,就差你了!
  4. java 动态获取IP地址(城市)
  5. 如何快速提升 Go 程序性能?
  6. 利用iptables实现SNAT及DNAT
  7. jquery开发手册(详细全面)
  8. 2020年下半年信息系统项目管理师综合知识真题试题解析
  9. cad计算机绘图入门,【菜鸟宝典】AutoCAD制图入门教学!
  10. 英语语法新思维初级分享
  11. c语言case后语句,switch语句中case后的标号是什么
  12. python小学口算题库生成器_口算题自动生成的小程序-L.A.SMILE自家用软件-口算题生成下载20060207-西西软件下载...
  13. HTML移动端 实现刻度尺效果
  14. C#敏感词汇过滤(不是正则)
  15. 安卓自动滑屏脚本_自动滑屏软件下载-自动滑屏 安卓版v3.1.0-PC6安卓网
  16. VC浏览器相关的学习(六)(IDispEventImpl包装的主要方法)
  17. 정부와동포 사고 전화해야
  18. 如何衡量和分配广告渠道?
  19. 多台计算机共享内存_共享内存多处理器和指令执行| 计算机架构
  20. 由先序遍历和中序遍历得到后序遍历和层次遍历(二叉树)

热门文章

  1. 宝贝三十六计V1.0 Cocos2d-x联网实战项目
  2. Indonesians Using Smartphones to Connect to the Internet
  3. IDC行业前景如何?IDC管理系统助力发展
  4. 怎么度量软件规模:代码行技术?LOC(Lines of Code,代码行)估算代码尺寸
  5. 栈的应用-判断表达式中括弧是否匹配(()、[]、{}三类括弧)
  6. 2022年深圳市企业技术改造申请指南
  7. Android学习整理 - 状态栏和虚拟导航键透明效果
  8. 400-集群聊天服务器的客户端开发
  9. wxpython dataviewmodel_wxPython + PyOpenGL 打造三维数据分析的利器!|CSDN 博文精选
  10. [转]用户体验与产品管理