2017-08-09 131 views
0

我已經開發了Android鍵盤和我想的表情符號添加到它例如代碼,查看「k」就是表情符號在Android鍵盤

<Key android:codes="107" android:keyLabel="k"/> 

107是「K」信你可以找到的ASCII碼所有來自本網站的ascii http://www.addressmunger.com/special_ascii_characters/

如果您搜索'k',您將獲得&#107;我的問題是,如果我想把這個表情符號,例如我得到的ascii是&#55357; &#56850; 我不知道如何把這個ASCII在XML ..任何幫助?

+0

這可能是有幫助的https://stackoverflow.com/questions/15417028/how-to-map-accented-characters-in-keyboard-xml –

回答

0

你應該找到這個不會工作:

<Key android:codes="0x1F602" android:keyLabel="0x1F602"/> 

而是在.XML佈局文件,您要添加的每個表情符,創建這樣一行:

<!--'Face with tears of joy' --> 
<Key android:codes="0x1F602" android:keyLabel="\ud83d\ude02"/> 

「\ ud83d \ ude02」被稱爲Java Escape序列(16位)。

如果您使用the standard SoftKeyboard(或一些衍生物),您將不得不將其更改爲處理轉義字符。你應該有一個名爲SoftKeyboard的課程,它擴展了InputMethodService。裏面應該有一個叫做handleCharacter的方法。改變這一行:

getCurrentInputConnection().commitText(String.valueOf((char) primaryCode), 0); 

這一行:display built-in emoji keys for inputmethod

其他參考資料:

getCurrentInputConnection().commitText(String.valueOf(Character.toChars(primaryCode)), 1); 

代碼從引用
http://android.appstorm.net/how-to/customization/how-to-use-emojis-on-your-android-device/

Emoji Keyboard support for EditField in android

set font at runtime, Textview

+0

謝謝你的回覆..表情符號出現在鍵盤上但它沒有寫任何東西..請看圖片http://www8.0zz0.com/2017/08/09/15/386601306.png –

+0

您使用哪種字體爲Textview/Edittext? AndroidEmoji.ttf和NotoColorEmoji.ttf是我認爲的好東西。 –

+0

EmojiconEditText可能是你需要的: - https://www.androidhive.info/2016/11/android-integrate-emojis-keyboard-app/ –