参考文章写在首位

Android emoji显示
嘿嘿,其实代码都没有变。

在Android系统中使用系统自带的emoji表情
这篇文章里介绍,emoji表情实际上是一组Unicode编码与一组表情描述之间的一一对应。,至于对应什么图片,就看不同系统怎么设定了。

TextView和EditText本身就已经支持表情了,只不过将emoji发给后台,后台再发回来会出现问题。

布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/et"android:layout_width="0dp"android:layout_height="50dp"app:layout_constraintTop_toBottomOf="@+id/tv"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"/></android.support.constraint.ConstraintLayout>

一个TextView用来显示EditText输入的内容。

Activity代码

public class MainActivity extends AppCompatActivity {TextView tv;EditText et;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = findViewById(R.id.tv);et = findViewById(R.id.et);//输入的内容转为Unicode编码后String str = "\\ud83d\\ude1a\\u5192\\u54af\\u51d1\\u697c\\u4e0b\\u4e86\\u5973\\u5b69\\ud83d\\ude1c\\ud83d\\ude1a";et.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {}@Overridepublic void afterTextChanged(Editable s) {String str = et.getText().toString();//将输入的内容转UnicodeString unicode = string2Unicode(str);//再将Unicode转为String,直接设置给TextViewtv.setText(unicode2String(unicode));}});}/*** unicode 转字符串* ---------------------* 作者:子不语归来* 来源:CSDN* 原文:https://blog.csdn.net/u010123643/article/details/54019448?utm_source=copy*/public static String unicode2String(String unicode) {Log.e("str==", "111111111" + "\\\\u");StringBuffer string = new StringBuffer();String[] hex = unicode.split("\\\\u");for (int i = 1; i < hex.length; i++) {Log.e("str==", "22222222" + "\\\\u");// 转换出每一个代码点int data = Integer.parseInt(hex[i], 16);// 追加成stringstring.append((char) data);}return string.toString();}/*** 字符串转换unicode* ---------------------* 作者:子不语归来* 来源:CSDN* 原文:https://blog.csdn.net/u010123643/article/details/54019448?utm_source=copy*/public static String string2Unicode(String string) {StringBuffer unicode = new StringBuffer();for (int i = 0; i < string.length(); i++) {// 取出每一个字符char c = string.charAt(i);if (c < 256)//ASC11表中的字符码值不够4位,补00{unicode.append("\\u00");} else {unicode.append("\\u");}// 转换为unicodeunicode.append(Integer.toHexString(c));}return unicode.toString();}
}

直接Log,出的表情是乱码,这边就先转成Unicode字符串,然后再转回去,设置给TextView。不然发给后台也是乱码,如果是文字加上表情,还是要和后台进行沟通,不然发过去的全是Unicode之后的字符串,又是麻烦。

Android TextView、EditText显示输入法自带表情,记录一下相关推荐

  1. android textview显示表情,在Android TextView中显示表情符号/情感图标

    我在Android TextView中显示表情符号图标时遇到一些问题 首先,我在这里找到了Unicode表情符号图标列表:http : //www.easyapns.com/category/just ...

  2. android 字体加粗有阴影,Android TextView高级显示技巧实例小结

    本文实例总结了Android TextView高级显示技巧.分享给大家供大家参考,具体如下: 1. 自定义字体 可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而And ...

  3. android布局密码,Android中EditText显示明文与密码的两种方式

    效果图如下所述: 布局 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="h ...

  4. Android TextView,EditText要求固定行数自动调整TextSize

    最近项目有个需求要求文本最多显示3行,继续输入则字体变小,删除已经输入的文字,那么字体变大,不管变大变小都不能超过3行.网上怎么找也找不到相关的解决方案,自己动手,丰衣足食了! 说一下算法思路,后面给 ...

  5. Android TextView 竖向显示(字体长度对字体位置有影响)

    需求: Android字体竖向显示 1.使用android:rotation="90":不足:如果字体很长,那么会有很长的距离. 2.自定义TextView竖向布局.消除了字体长度 ...

  6. 移动web输入法自带表情错误处理

    通常,我们的字符使用escape.encodeuricomponent.encodeuri编码,然后再发送给后台,这种方法基本能解决编码的问题. 基本情况是:web以特定的URL发起网络请求,中间对U ...

  7. 点击edittext 区域外隐藏输入法和点击edittext 显示输入法

    在界面开发过程中,需要使用edittext来输入内容用来匹配查找,然后点击其他区域收起输入法. 本文在一个布局里有edittext 和一个list view ,edittext 输入内容,搜索list ...

  8. Android textview 只显示一行,多余部分显示.....

    如果说文字后面的....在文字的最下面 这个使用的属性是ellipsize 下面来看下这个属性 android:ellipsize="start"-–省略号显示在开头 " ...

  9. android TextView 不显示文字

    问题描述 在xml布局文件中已经定义了TextView的颜色android:textColoe="xxxxx"然后在Java文件中根据需要动态改变TextView字体的颜色text ...

最新文章

  1. 【位运算】解题报告:luoguP4310 绝世好题(位运算优化DP)
  2. hdu3234 带权并查集(XOR)
  3. 小程序从浏览器返回有一个空白页_北京做一个小程序
  4. 分享一下spark streaming与flume集成的scala代码。
  5. (一)数据结构与算法-线性结构和非线性结构
  6. bpython_Python机器学习(入门)
  7. Javascript数组函数库
  8. mongo .update
  9. MFC 中获取各种类指针的方法
  10. python自动保存图片_python抓取豆瓣图片并自动保存示例学习
  11. 微信小程序保存图片到相册
  12. 32位,64位系统寻址空间及最大内存
  13. 6.9对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格
  14. 搭建个人静态blog
  15. JVM 报 GC Overhead limit exceeded 是什么意思?
  16. 第十七届中国计量大学程序设计竞赛 D Dessert Time
  17. Surface Book2 购买、使用、体验
  18. 【Android】 禁止首屏时钟AppWidget拖动到其他屏
  19. 【Axure高保真原型】日期时间选择器
  20. ibatis Clob

热门文章

  1. U盟用新浪微博第三方登录 文件不存在 c8998 解决办法
  2. Python处理Excel求取某列固定间隔数的平均值
  3. 歪歪地区服务器维护,多玩歪歪语音旗下新行业挂yy服务器简要说明
  4. android数据球图,Android OpenGL球体贴图
  5. GMS认证环境搭建-终极篇
  6. 【python】18行代码带你采集国外网小姐姐绝美图片
  7. python PyAutoGUI 模拟鼠标键盘操作和截屏
  8. android oreo 老机型,三年的老机型,一加手机1也有安卓8.0了!
  9. 配置linux服务器pptpd,Linux下配置pptpd
  10. Vue3+Element-Plus 登录成功后主页退出功能实现 十八