上图

使用:

1、在et_input输入框中显示表情,可自由删除

@BindView(R.id.emoji_vp)lateinit var emoji_vp: ViewPager@BindView(R.id.emoji_dv)lateinit var emoji_dv: DotViewprivate var mVpEmoAdaper: EmoViewPagerAdaper? = null/**
* 其他处理...
*//*** 初始化表情*/private fun initEmoji(){emoji_dv.initData(8, 0)mVpEmoAdaper = EmoViewPagerAdaper()emoji_vp.adapter = mVpEmoAdaperemoji_vp.setOnPageChangeListener(this)mVpEmoAdaper!!.onEmoItemClickListener = this}override fun onPageSelected(position: Int) {//当ViewPage页面切换时,设置下方小圆点的显示emoji_dv.changeCurrentPage(position)}override fun onPageScrollStateChanged(state: Int) {}override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}override fun onEmoItemClick(emoResId: Int, emoName: String?) {var emoName = "$emoName"//创建可以图文混排的类val ssb = SpannableString(emoName)//得到图片val drawable = resources.getDrawable(emoResId)val size = SizeUtils.dp2px(30f)drawable.setBounds(0, 0, size, size)//创建ImageSpanval `is` = ImageSpan(drawable)//对文字进行图片替换(Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 表示删除时一个个删)ssb.setSpan(`is`, 0, emoName.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)//得到当前输入框中的内容val originalContent = et_input.text//得到当前输入框中的光标位置val selectionEnd = et_input.selectionEnd//在光标处插入内容originalContent.insert(selectionEnd, ssb)}override fun onDelItemClick() {//因为不知道具体表情文字内容的长度,所以模拟系统的删除键功能et_input.dispatchKeyEvent(KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL))et_input.dispatchKeyEvent(KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL))}

2、在列表中展示表情

val ssb = EmoParser.parseContent(activity, et_input.text.toString())
tv_msg.text = ssb

代码https://download.csdn.net/download/qq_26075861/11635874

Android防微信表情功能相关推荐

  1. android自动微信支付平台,Android实现微信支付功能

    开发Android APP微信支付功能,需要完成三个步骤:第一步生成预支付订单.第二步生成微信支付参数.第三步调起微信APP支付.除了需要审核通过的APP应用外,还需要获得微信支付接口权限,然后获取对 ...

  2. php android 微信支付,Android_Android实现微信支付功能,开发Android APP微信支付功能, - phpStudy...

    Android实现微信支付功能 开发Android APP微信支付功能,需要完成三个步骤:第一步生成预支付订单.第二步生成微信支付参数.第三步调起微信APP支付.除了需要审核通过的APP应用外,还需要 ...

  3. android手机微信收藏功能实现,Android模仿微信收藏文件的标签处理功能

    最近需要用到微信的标签功能(如下图所示).该功能可以添加已有标签,也可以自定义标签.也可以删除已编辑菜单.研究了一番.发现还是挺有意思的,模拟实现相关功能. 该功能使用类似FlowLayout的功能. ...

  4. Android Studio 微信分享功能(包括可以分享到朋友圈,分享到朋友)

    第一步:配置sdk 在build.gradle文件中,添加如下依赖即可: 在Android Studio中新建你的工程,并保证网络设置可以成功从jcenter下载微信SDK即可. dependenci ...

  5. android 防触碰功能,类似打电话时屏幕熄灭

    防触碰功能用到的是android手机的距离感应器 1.申请距离感应器管理者 <span style="white-space:pre"> </span>Se ...

  6. android开发微信分享功能,Android编程实现微信分享信息的方法

    本文实例讲述了Android编程实现微信分享信息的方法.分享给大家供大家参考,具体如下: 随着微信越来越火,越来越多的应用要求有分享到微信的功能.虽然有很多平台都帮集成有分享功能,比如友盟.但是个人觉 ...

  7. Android制作微信登录功能,Android 实现微信登录详解

    前言 分享到微信朋友圈的功能早已经有了,但微信登录推出并不久,文档写的也并不是很清楚,这里记录分享一下. 正文 一.准备 注册.认证步骤自己来.微信开放平台: 二. 代码 2.1 唤起微信登录 参考官 ...

  8. android仿微信聊天功能,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  9. android模拟微信聊天功能,android仿微信聊天界面 语音录制功能

    本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI. 1先看效果图: 第一:chat.xml设计 android:layout_width="fill_parent" and ...

最新文章

  1. SD-WAN可以提高WAN性能的3种方式—Vecloud
  2. Java集合:Integer.parseInt() String.substring()
  3. 三星“打法”:先模仿对手 再吃掉对手
  4. iMeta | 华中科大宁康组综述宏基因组数据用于蛋白质三维结构预测的方法论
  5. php mysql foreach_php foreach输出两次
  6. Python 高层文件操作(shutil模块)(转载)
  7. dynamic集合动态添加属性
  8. C根据输入的城市坐标求各城市间的距离
  9. c语言基础--ASCII码表
  10. omnigraffle所有模板免费下载网站
  11. wordpress建立php站点地图,WordPress站点地图(sitemap)制作方法(免插件)
  12. Google Play 开发者账户被封
  13. fiddler 证书错误
  14. Win7下配置PHP+Nginx
  15. linux gfortran编译,gfortran编译学习
  16. 手机扫电脑浏览器页面里的二维码后,电脑中该页面自动跳转,什么原理
  17. 520,都来被虐吧。。。
  18. 开源棋牌框架creator+skynet:牛牛+五子棋
  19. 计算机毕业设计 基于SSM的公交线路查询和管理系统
  20. POJ 2540 Hotter Colder(半平面交求可行域)

热门文章

  1. 缓和曲线08正弦半波型
  2. H G W S哪一个不是状态函数_一个魔改的切韵系拼音体系
  3. mybatis-plus多表查询(三表多对多关系)
  4. 如何用Python绘制深小卫推文中的病例图
  5. pg数据类型及数据类型转换
  6. docker 添加挂载目录 mount /mnt /Volume
  7. Ecshop后台拿shell方法总结
  8. PS基础之移动工具和分布对齐
  9. 如何爬取B站搜索结果
  10. 苹果手机删掉的照片怎么找回