Установить символ индийской рупии на вид текста


Я разрабатываю приложение. И мне нужно установить символ индийской рупии на текстовом представлении, которое устанавливается с текстом как сумма.

Символ:

Введите описание изображения здесь

У меня есть шрифт или .TTF-файл этого в папке Assets / fonts.

И я попытался использовать его как:

Typeface typeFace_Rupee = Typeface.createFromAsset(getAssets(),fonts/Rupee_Foradian.ttf");
TextView tvRupee = (TextView) findViewById(R.id.textview_rupee_mlsaa);
tvRupee.setTypeface(typeFace_Rupee);

// Tried to set symbol on text view as follows.
tvRupee.setText("`");

Как и выше, устанавливая шрифт, я получил ошибку нулевого указателя.

В файле word после выбора шрифта и набора текста ` мы получили символ. но это не работает в android.

Ну и что? шаги, которые я должен следовать, чтобы сделать это...

7 65

7 ответов:

Введите описание изображения здесь

Привет используйте это в строках

Для печати символ рупии : <string name="Rs">\u20B9</string>

Для печати Rs текст: <string name="rs">\u20A8</string>

Используйте \u20B9, если вы хотите напечатать Rupee Symbol
и
Используйте \u20A8, Если вы хотите напечатать "Rs"

Попробуйте это, вместо Rupee_Foradian.ttf используйте Rupee.ttf это будет работать. получаю символ валюты.

Typeface tf = Typeface.createFromAsset(getAssets(), "font/Rupee.ttf");
textView1.setTypeface(tf);
textView1.setText("`");

Скопируйте и вставьте Юникод в XML или Java, и он работает просто отлично. Для получения дополнительной информации о Юникоде см. http://www.fileformat.info/info/unicode/char/20b9/index.htm

Использование на адаптере

Viewholder.price.setText("Price: \u20B9"+dataAdapterOBJ.getPrice());

Попробуйте этот фрагмент кода, он отлично работает в Xamarin.Forms

 CultureInfo india = new CultureInfo("hi-IN");

 var rupeeSymbol = india.NumberFormat.CurrencySymbol;
 public static String getIndianRupee(String value) {
    Format format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
    return format.format(new BigDecimal(value));
}