web-dev-qa-db-fra.com

comment définir emoji par unicode dans un textview?

Bonjour, j'aimerais faire ce qui suit:

??? unicode = U+1F60A
String emoji = getEmijoByUnicode(unicode)
String text = "So happy "
textview.setText(text + emoji);

pour obtenir ceci dans mon textview:

Tellement heureux ????

Comment implémenter 'getEmijoByUnicode (unicode)'?

Quel devrait être le type de "Unicode"? (String/char/int ??!)

Veuillez noter que je ne veux PAS utiliser Drawables!

62
Gilbert Giesbert

Trouvé une solution:

Dans mon unicode, j'ai remplacé 'U +' par '0x'

Exemple: remplacez 'U + 1F60A' par '0x1F60A'

De cette façon, j'ai un 'int' comme

int unicode = 0x1F60A;

Qui peut être utilisé avec

public String getEmojiByUnicode(int unicode){
    return new String(Character.toChars(unicode));
}

Donc, Textview affiche ???? sans Drawable 

Essayez-le avec http://apps.timwhitlock.info/emoji/tables/unicode

136
Gilbert Giesbert

Vous pouvez directement utiliser Emojis dans les ressources de chaîne en utilisant le code décimal comme ceci:

�

par exemple:

<string name="emoji">I am happy &#x128522;</>

REMARQUE: Le x est requis dans les séquences d'échappement Android vs XML standard.

10
Norman

NOte: pour Kotlin

getEmoji (unicode: Int) amusant: Chaîne { return String (Character.toChars (unicode)) }

0
Bipin Bharti