Jak ustawić emoji przez Unicode w widoku tekstu?


94

Cześć, chciałbym wykonać następujące czynności:

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

aby uzyskać to w moim widoku tekstu:

Tak szczęśliwy 😊

Jak mogę wdrożyć getEmojiByUnicode(unicode)?

Jakiego typu powinna unicodebyć zmienna? (String, char, int?)

Pamiętaj, że NIE chcę używać Drawables!

Odpowiedzi:


185

Znalazłem rozwiązanie:

W moim Unicode zamieniłem „ U + ” na „ 0x

Przykład: zamień „ U + 1F60A ” na „ 0x1F60A

W ten sposób otrzymałem polubienie „int”

int unicode = 0x1F60A;

Które mogą być używane z

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

Dlatego Textview wyświetla 😊 bez opcji do rysowania

Wypróbuj z http://apps.timwhitlock.info/emoji/tables/unicode


3
działa na 5.1, ale na 4.4.4 dostaję? dla mojego ciągu emoji
filthy_wizard

21
Czy można to zrobić w pliku strings.xml?
Spektakulatius

@ user1232726, będzie to zależeć od telefonu użytkownika, w tym używanego emoji.
Suragch

Czy możesz pomóc w konwersji tego "5794d5f7895fa10a8f8e1357" na EMOJI .. @GilbertGiesbert .. Dzięki ...
Ravindra Kushwaha

2
Niestety nie działa z 32-bitowym Unicode, takim jak U + 1F1EF U + 1F1F2. Ta wartość znajduje się poza granicami liczb całkowitych.
Chris - Jr

40

Możesz bezpośrednio używać emotikonów w zasobach ciągów, używając kodu dziesiętnego w następujący sposób:

😊

na przykład:

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

11
To jest dobra odpowiedź; aby znaleźć kod dziesiętny emoji, możesz użyć czegoś takiego jak quackit.com/character_sets/emoji
Adinia

1
nie uważam x za konieczne
hmac

3
Błąd podczas kompilacji: odniesienie do postaci „& #
Dr. aNdRO

@hmac Wycofałem odpowiedź, usunąłem wzmianki ox
Vadim Kotov

3

Uwaga: dla Kotlin

fun getEmoji(unicode: Int): String {
    return String(Character.toChars(unicode))
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.