700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 自定义表情包 android基于环信的聊天和表情自定义

android 自定义表情包 android基于环信的聊天和表情自定义

时间:2022-03-27 15:54:04

相关推荐

android 自定义表情包 android基于环信的聊天和表情自定义

环信sdk的导入

自定义聊天界面

此处只有静态图,请谅解。

自定义表情发送

自定义聊天界面

简单说下自定义的聊天界面,一个带有recyclerview和的xml文件,和对应的adapter即可。recyclerview为展示聊天信息。通过EMClient.getInstance().chatManager().getConversation(mChatId, null, true).getAllMessage(),可以得到聊天的数据,然后将其适配到adapter里面,即可完成简单的聊天界面了。下面主要说一下,基于环信的表情简单集成.

表情的简单集成

找到环信demo里面的easeui,找到其中的几个类:EaseDefaultEmojiconDatas,EaseEmojicon,EaseEmojiconGroupEntity,EaseSmileUtils,EaseUI,FaceConversionUtil。复制粘贴到自己的项目,如果有报错,注释掉就行。

大致的思路是:每一个表情都有对应的字符串,将他们装到map里面,发送表情的时候其实是发的一个字符串,在解析得到的消息的时候,通过对应关系,找到相对应的表情,然后展示出来,在这几个类里面主要依靠EaseSmileUtils中的getSmiledText(Context context,CharSequence text)中的addSmiles(Context context,Spannable spannable)进行一个表情的转化。

这样就算是完成了一个简单的聊天。

表情和软键盘的滑润切换

在实际项目中,为了用户体验,需要做到表情和软键盘的滑润切换,我的实现思路是这样子的:

点击edittext将SoftInputMode改为RESIZE,同时获取焦点,显示软键盘。

点击显示图片,让edittext失去焦点,同时将SoftInputMode改为NOTHING

软键盘弹出遮住聊天内容

因为聊天内容是用的recyclerview展示的,所以在软键盘弹出过后会遮住下面的内容,这其中在看完一篇博客过后得到解决(具体哪篇搞忘了),即自定义一个LinearLayout,在高度发生变化后进行一个重绘。

好了,也就差不多这些,因为是新手,所以写得不是很明白的,敬请谅解,下面附上项目地址:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。