Как установить Emoji с помощью Unicode в EmojiAppCompatTextView - PullRequest
0 голосов
/ 04 ноября 2019

Мне нужно показать флаг страны с помощью emoji, я использую следующий веб-сайт, чтобы получить флаги Unicode.

https://apps.timwhitlock.info/emoji/tables/iso3166

Я использую androidx.emoji.widget.EmojiAppCompatTextView для отображения флагов.

Но когда я использую unicode, флаг не печатается.

emojiCountryFlag.setText("US") //Print UN

или

emojiCountryFlag.setText("U+1F1FA U+1F1F8") // Печатает одинаково на выходе

Но если я использую emojiCountryFlag.setText("\uD83C\uDDFA\uD83C\uDDEC"), он печатает идеальный флаг.

Я не могу понять, как напечатать флаг, используя Unicode, или есть какое-то место, где я могу получить этот тип строки "\uD83C\uDDFA\uD83C\uDDEC".

Студия Android генерирует этот код, когда я печатаю ISO значение в кавычках.

1 Ответ

1 голос
/ 04 ноября 2019

Вы можете найти его на той же странице, на которой смотрели. U+1F1FA U+1F1F8 - символы Юникода, используемые для идентификации флага. \uD83C\uDDFA\uD83C\uDDEC - это суррогаты, которые вам нужно использовать с Java и Android .

        Code    UTF‑8                           Surrogates
?  ?  1F1FA   F0 9F 87 BA     3C D8 FA DD     D83C DDFA   REGIONAL INDICATOR SYMBOL LETTER U
?  ?  1F1F8   F0 9F 87 B8     3C D8 F8 DD     D83C DDF8   REGIONAL INDICATOR SYMBOL LETTER S

Чтобы просто выполнить вашу задачу, вы можете просто вставить флаги Юникодав Android Studio .

https://apps.timwhitlock.info/unicode/inspect/hex/1F1FA/1F1F8

...