android 自定义表情包,android基于环信的聊天和表情自定义
環(huán)信sdk的導入
自定義聊天界面
此處只有靜態(tài)圖,請諒解。
自定義表情發(fā)送
自定義聊天界面
簡單說下自定義的聊天界面,一個帶有recyclerview和的xml文件,和對應的adapter即可。recyclerview為展示聊天信息。通過EMClient.getInstance().chatManager().getConversation(mChatId, null, true).getAllMessage(),可以得到聊天的數(shù)據,然后將其適配到adapter里面,即可完成簡單的聊天界面了。下面主要說一下,基于環(huán)信的表情簡單集成.
表情的簡單集成
找到環(huán)信demo里面的easeui,找到其中的幾個類:EaseDefaultEmojiconDatas,EaseEmojicon,EaseEmojiconGroupEntity,EaseSmileUtils,EaseUI,FaceConversionUtil。復制粘貼到自己的項目,如果有報錯,注釋掉就行。
大致的思路是:每一個表情都有對應的字符串,將他們裝到map里面,發(fā)送表情的時候其實是發(fā)的一個字符串,在解析得到的消息的時候,通過對應關系,找到相對應的表情,然后展示出來,在這幾個類里面主要依靠EaseSmileUtils中的getSmiledText(Context context,CharSequence text)中的addSmiles(Context context,Spannable spannable)進行一個表情的轉化。
這樣就算是完成了一個簡單的聊天。
表情和軟鍵盤的滑潤切換
在實際項目中,為了用戶體驗,需要做到表情和軟鍵盤的滑潤切換,我的實現(xiàn)思路是這樣子的:
點擊edittext將SoftInputMode改為RESIZE,同時獲取焦點,顯示軟鍵盤。
點擊顯示圖片,讓edittext失去焦點,同時將SoftInputMode改為NOTHING
軟鍵盤彈出遮住聊天內容
因為聊天內容是用的recyclerview展示的,所以在軟鍵盤彈出過后會遮住下面的內容,這其中在看完一篇博客過后得到解決(具體哪篇搞忘了),即自定義一個LinearLayout,在高度發(fā)生變化后進行一個重繪。
好了,也就差不多這些,因為是新手,所以寫得不是很明白的,敬請諒解,下面附上項目地址:
總結
以上是生活随笔為你收集整理的android 自定义表情包,android基于环信的聊天和表情自定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab实现id3,MATLAB简单
- 下一篇: winform数据传递到html,C#下