Символ Unicode 0x25BA не отображается на Android - PullRequest
0 голосов
/ 09 июня 2011

Я пытаюсь отобразить символ \ u25BA в кодировке в текстовом виде, но при выполнении

<TextView android:id="@+id/arrowright" android:layout_width="20dp"
        android:layout_height="240dp" android:gravity="center" android:text="\u25BA"
        android:textSize="14sp" android:textColor="#000000" />

отображается только пустой прямоугольник.Это работает с другими символами, такими как "\ u2605".

Ограничен ли набор символов для Android?

Ответы [ 2 ]

4 голосов
/ 09 июня 2011

XML не позволяет вам использовать \u экранирование Юникода, использовать правильную кодировку, возможно, UTF-8 или экранировать его с помощью экранирования &...;.

Да, символы ограничены тем, что использует текущий шрифтподдерживает.Используйте браузер шрифтов, чтобы проверить, поддерживается ли нужный символ.

1 голос
/ 09 июня 2011

Попробуйте загрузить Unicode Map на Маркете и держите его под рукой, когда вы разрабатываете. Используется нотация \uXXXX.

И, наконец, как сказал Сорин, помните (если вы этого еще не сделали), что \uXXXX (два шестнадцатеричных байта), похоже, работают только в strings.xml (и при импорте в макеты с использованием формата @string/string_name). Или, по крайней мере, кажется, что он не работает во всех SDK или во всех средах (здесь я только что протестировал SDK 2.2, и он не работает). Чтобы избежать неприятностей (символы в середине литеральных строк и т. Д.), Я этого не делаю.

Поскольку большинство людей никогда напрямую не кодируют строки в макетах XML (проблемы с локализацией и т. Д.), Это, как правило, не является проблемой (и именно поэтому я использую этот формат). Кроме того, как вы можете видеть в приложении выше, это, кажется, предпочтительный способ избежать менее чем тривиальных символов в Android.

Лично я считаю, что поэтому я не вижу многих людей, использующих &#int;, я думаю ...

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...