@ape364

Как вывести символ рубля ₽ в TextView?

Всем привет.

Как вывести знак рубля в textView через код? Т.е. что-то вроде tvCost.setText(orderCost + " ₽"). При задании этого символа в разметке xml все ок (например, android:text="250 ₽"), но при попытке задать текст с помощью setText() - беда.

Пробовал и char, и String, и сам символ "₽", и его представление в Unicode "/u20BD" и даже через getResources().getString() также как "₽" и "/u20BD" - результата ноль, просто ничего не выводится на месте этого символа.

UPD: проблема наблюдается в эмуляторе Genymotion (Google Nexus 4, Android 4.2.2, API 17), на телефоне Nexus 5 c Android 6.0 все ок.

UPD: вариант решения - картинка вместо символа в комментариях к ответу LeEnot
  • Вопрос задан
  • 6274 просмотра
Решения вопроса 1
LeEnot
@LeEnot
Енот-андроид
Попробуйте так:
tvCost.setText(orderCost + Html.fromHtml(" &#x20bd"));

UPD:
Дело в том, что на некоторых шрифтах в Android символа рубля нет.
Вам нужно задать кастомный шрифт, где этот символ присутствует примерно так:
Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/NotoSans-Regular.ttf");
tvCost.setTypeface(myFont);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы