从早上搞到现在,才终于解决的,最后发现这个功能其实很容易实现,只是java的正则用的少Matcher和Pattern不够熟悉,才导致绕了很大的弯
有几点是需要明白的
一,String是根据编码解析从而得到字符的,我们的emoji是一张小小的位图的char
二,切入主题
1.安卓客服端显示emoji,这个不难,只要从位图解析图片后交给imageSpan然后替换掉SpannableString中的字符得到CharSequence
例子
输入到edittext中
ImageSpan imageSpan = new ImageSpan(UserTallGallery.this,BitmapFactory.decodeResource(getResources(),(AppData.getweiBoface())[position]));
SpannableString spannableString = new SpannableString("face");
spannableString.setSpan(imageSpan, 0, spannableString.length(),SpannableString.SPAN_MARK_MARK);
sendTextContainter.append(spannableString);
注:sendTextContainter是edittext
当我们点击发送时就要把edittext的东东放到panel了,如textview
这里需要注意的是我们的edittext是包含emoji表情的,所以在获取时不能tostring哦,不然就让String用字符编码解析了,结果肯定导致emoji表情丢失
例子
serTallGalleryBean.setSendCo