2015-02-12 67 views
2

我想要實現的機器人表情符號鍵盤只是用表情符號的Unicode陣列,無需任何額外的資源。如何通過unicode字符獲取系統Android emoji?

所以對於表情符號Unicode字符,我需要從Android系統獲取繪製,如果系統不支持的人物造型,我只是忽略這個角色。

一些基本的研究之後,

  • emojicon,https://github.com/rockerhieu/emojicon
  • emojicon,https://github.com/ankushsachdeva/emojicon

這些工具都使用自制的資源。

使用TextView setTexttv.setText("\u263A"); TextView可以顯示資源,但是如何獲取資源?

回答

3

這裏的problem-系統並不確定了可以顯示的字符。字體是。字體需要定義如何繪製它將顯示的每個字符。這就是爲什麼你會看到盒子或?缺少字符 - 這是字體的默認渲染。 Android上沒有任何方法可以測試某個字符是否以給定的字體顯示(儘管它會很好)。由於無法知道EditText正在使用什麼字體,因此無法知道給定字符是否受支持。您最好的選擇是限制自己使用默認Android系統字體中定義的字符。但即使如此,你假設OEM沒有使用不同的默認字體,用戶還沒有覆蓋它,應用程序並沒有覆蓋它。基本上,你被迫猜測和希望。

+0

你有一個想法是什麼原始設備製造商通常做的,即是有一個很好的機會,通過明確請求德羅伊德桑字體讓原生Android的表情符號(而不是一些OEM的東西)? – 2015-03-24 23:00:00

+1

如果它安裝在設備上,是的。或者你可以把它放在你的APK(你可以從資產中加載一個字體),如果你確定佔用額外的空間。 – 2015-03-24 23:02:17

+0

謝謝!我計劃使用圖像作爲Android <4.4(我認爲顏色字體在那裏不起作用)的後備。所以我想我可以檢查Droid Sans是否可用,如果不是Android> = 4.4,可以回到圖像。我主要關心的是,一些原始設備製造商只是用他們自己的「解釋」它們應該看起來像Droid Sans的內容來替換表情符號,而我沒有簡單的方法來檢測這一點(除了比較樣本渲染和存儲的圖像) 。我希望使用基於字體的表情符號(如果可用),因爲它們可以更好地擴展(最多隻能消失一點 - 另一個故事...... – 2015-03-24 23:08:33