1.完美顯示情況:
會顯示,谷歌支持的Emoji不會出現(xiàn)信封,但是可能會被拆分開。
2.低版本兼容情況:
可以做到,以及嘗試很多新表情都可以顯示在老版本設(shè)備上。
3.是否可以判斷一個完整的Emoji以及完美截?cái)啵?/p>
? 解決方案有三種:
? ? ? ??? ? ? ??1)根據(jù)字符長度來裁切。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可實(shí)現(xiàn)樣式:單個Emoji顯示沒問題,組合Emoji,比如一家四口,會裁掉一個人,變成一家三口顯示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?缺點(diǎn):顯示會缺失,但是不會不顯示或者顯示錯誤,舉例如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ?? ?【1】Emoji 家庭:會顯示,如果被截?cái)鄷@示剩余的人數(shù),比如一家四口,裁切掉一個后剩余3個人在一起顯示
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???【2】Emoji 國旗:會顯示,如果被裁切會顯示英文首字母大寫,比如中國CH 裁切掉一個字符以后剩一個C顯示出來。
? ? ? ? ? ? ? ?2)自研算法來裁切。通過讀取字符串序列中含有EmojiUnicode,并且識別下一個節(jié)點(diǎn)既不是表情修飾符也不是表情連接符等,恰好也是EmojiUnicode。那么就判斷此為兩個Emoji的分隔。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可實(shí)現(xiàn)樣式:可以達(dá)到完美裁切。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?缺點(diǎn):需要自研算法,和通過驗(yàn)證不同類型Emoji顯示,來提升自研算法的成功比率。
? ? ? ? ? ? ? ?3)android提供的emoji2依賴庫中,通過EmojiSpan獲取到emoji的unicode起始索引和unicode結(jié)束索引,通過這個索引就可以做到類似一家三口的完美截?cái)嗔恕?/p>