Встановити символ індійської рупії на подання тексту


89

Я розробляю додаток. І мені потрібно встановити символ індійської рупії в текстовому вікні, який встановлюється з текстом як сума.

Символ:

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

У мене є шрифт або файл .TTF цього файлу в папці Активи / шрифти.

І я намагався використовувати його як:

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.

Отже, які кроки мені слід зробити для цього ...


6
Просто використовуйте "\ u20B9" у вашому текстовому рядку, де б ви хотіли показувати символ
Akbari Dipali

@Akbari Dipali Я спробував "\ u20B9", але після запуску на емуляторі відображається поле в тексті. Але при оформленні макета в графічному інтерфейсі це виглядає чудово.
Manoj Fegde 02.03.13

@Akbari Dipali Дякую. Він не працює на емуляторі, але я протестував його на пристрої. Це добре працює.
Manoj Fegde 02.03.13

@AkbariDipali Я намагаюся встановити вище unicode у текстовому поданні, він добре працює у верхній версії, але в нижчих версіях нижче 4.0 він показує поле замість символу. Чи можете ви допомогти? як встановити у всіх версіях
Дорі

@ Nidhi Так, у мене така ж проблема. Це виглядає як вікно на емуляторі, але на пристрої він працює нормально для мене. Якщо ви стикаєтесь із проблемою, дайте мені знати. І якщо ви отримали відповідь, тоді проголосуйте і я.
Маной Фегде

Відповіді:


213

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

Привіт, використовуй це в рядках

Для символу рупії друку : <string name="Rs">\u20B9</string>

Для друку Rs тексту: <string name="rs">\u20A8</string>


Я спробував "\ u20B9", але після запуску на емуляторі відображається текстове поле. Але при оформленні макета в графічному інтерфейсі це виглядає чудово.
Manoj Fegde 02.03.13

Дякую. Він не працює на емуляторі, але я протестував його на пристрої. Це добре працює.
Manoj Fegde 02.03.13

1
У моєму пристрої перший \u20B9дає символ рупій. Другий \u20A8дає текст "Rs". У будь-якому разі я отримав цю подяку. +1
Махендран Саккараї

Ваша відповідь абсолютно правильна. Немає сумнівів. Але я хотів би додати рядок коду, щоб допомогти новачкам у розробці додатків для Android. Для того, щоб використовувати цей ресурс в програмуванні, вам потрібно викликати цей строковий ресурс через цей рядок коду: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain

22

Використовуйте, \u20B9якщо потрібно надрукувати, Rupee Symbol
та
Використовуйте, \u20A8якщо ви хочете надрукувати"Rs"


2
спробуйте скористатися gist.github.com/john1jan/a82912fb355771e565bea1720439c5dc . Він додає префікс до символу рупії і додає навіть кількість, відокремлену комами
Джон

спробуйте це. // Якийсь код тут дочірній: Текст ('\ u20B9 $ {tx.amount}') // якийсь код тут
Ашиш Дадхіч

12

використання на адаптері

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

1
Хоча цей код технічно може відповісти на запитання, ви, мабуть, допомогли б ОП більше, якщо пояснили, чому ваш код вирішує проблему
оператора

10

Спробуйте це, замість Rupee_Foradian.ttfвикористання Rupee.ttf це буде працювати. я отримую символ валюти.

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

відповідь gr8 !!!! так продовжувати. незабаром ви збираєтеся програміста для андроїдів у гуру !!!!
AndroidEnthusiastic 01.03.13

Я вже додав цей. Думаю, ви не правильно прочитали моє запитання. Правильно читайте код і запитуйте.
Manoj Fegde 02.03.13

@ManojFegde Замість Rupee_Foradian.ttf використовуйте Rupee.ttf це буде працювати. я відредагував свій пост перевірити його. дайте мені знати будь-які роз’яснення
MuraliGanesan 02.03.13

@Muraliganesan: Це не працює. Оскільки я отримую помилку як- Java.lang.RuntimeException: рідний шрифт не може.
Manoj Fegde 02.03.13

1
Дякую за твою допомогу. Але відповідь вище - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> працює для мене.
Маной Фегде 02.03.13



1

Спробуйте цей фрагмент коду, в якому він чудово працює Xamarin.Forms

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

 var rupeeSymbol = india.NumberFormat.CurrencySymbol;

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.