學android也有一段時間, 一直都是自己摸索, 各種上網查資料, 也明白了不能一味去索取有時間也要分享一些自己的心得 。
最近幾天都在寫關於android emoji輸入的小例子,網上有不少源碼還有實現思路,我自己也看了一個emojicon的開源項目, 分析了下實現原理,搞了幾個小時也沒弄懂, emojicon的表情符號都經過一定的編碼,關鍵是自己水平有限, 對編碼那一塊很少涉及。
首先要實現emoji先要弄清楚一些相關的類與繼承關系。
CharacterStyle :
實現類都可以設置字符的風格。
Spannable :
該接口間接的實現了CharSequence, 在android中TextView 的setText方法是接收的CharSequence這點要定要記住.
簡單的實現方法:
利用emoji文件的名子按自己設計的規則生成一個emoji的文本表示。將emoji文本設置到TextView或EditText, 這里的TextView都是要自己去繼承后面重寫一些方法,將emoji文本設置到TextView中間要對TextView的字符進行查找,找出里面的emoji文本.再通過Spannable來替換成圖片。
定義類:
Emoji:
實體類。
IEmojiPackage
表情包, 加載emoji文件。
EmojiManager
搜索emoji文本,對IEmojiPackage產生的emoji進行集中管理 。
github: https://github.com/yjwfn/androidemoji
apkbus: http://www.apkbus.com/forum.php?mod=viewthread&tid=250715
