Подтвердить что ты не робот

Как установить Emoji по Юникод в текстовом виде?

Привет я хотел бы сделать следующее:

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

чтобы получить это в моем textview:

Так счастлив 😊

Как я могу реализовать getEmojiByUnicode(unicode)?

Какого типа должна быть переменная unicode? (Строка, символ, int?)

Обратите внимание, что я НЕ хочу использовать Drawables!

4b9b3361

Ответ 1

Найдено решение:

В моем юникоде я заменил ' U +' на 0x '

Пример: замените ' U + 1F60A' на ' 0x1F60A'

Таким образом, я получил 'int', как

int unicode = 0x1F60A;

Что можно использовать с

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

Итак, Textview отображает 😊 без Drawable

Попробуйте с http://apps.timwhitlock.info/emoji/tables/unicode

Ответ 2

Вы можете напрямую использовать Emojis в строковых ресурсах, используя десятичный код, подобный следующему:

😊

например:

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

Ответ 3

Примечание: для Kotlin

fun getEmoji(unicode: Int): String {
    return String(Character.toChars(unicode))
}