在文本视图上设置印度卢比符号


89

我正在开发一个应用程序。我需要在文本视图中设置印度卢比的符号,并以文本作为金额进行设置。

符号:

在此处输入图片说明

我在Assets / fonts文件夹中有此字体或.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
只需在要显示符号的位置的settext字符串中使用“ \ u20B9”,即可
Akbari Dipali 2013年

@Akbari Dipali我尝试了“ \ u20B9”,但是在模拟器上运行后它显示文本框。但是在GUI中进行布局设计时,它看起来不错。
Manoj Fegde

@Akbari Dipali谢谢。它在Emulator上不起作用,但我在设备上对其进行了测试。一个工作正常。
Manoj Fegde

@AkbariDipali我试图在文本视图中的unicode上方进行设置,在较高版本中效果很好,但在4.0以下的较低版本中,它显示一个框而不是符号。你能帮忙吗?如何设置所有版本
Dory

@Nidhi是的,我遇到了同样的问题。它在模拟器上看起来像盒子,但在设备上对我来说运行正常。如果您遇到问题,请告诉我。如果您得到答复,请和我一起投票。
Manoj Fegde

Answers:


212

在此处输入图片说明

嗨,在字符串中使用它

对于打印卢比符号<string name="Rs">\u20B9</string>

对于打印Rs文本: <string name="rs">\u20A8</string>


我尝试了“ \ u20B9”,但是在模拟器上运行后它显示文本框。但是在GUI中进行布局设计时,它看起来不错。
Manoj Fegde

谢谢。它在Emulator上不起作用,但我在设备上对其进行了测试。一个工作正常。
Manoj Fegde

1
在我的设备中,第一个\u20B9输入卢比符号。第二个\u20A8给出“ Rs”文本。无论如何,我对此表示感谢。+1
Mahendran Sakkarai 2015年

您的答案是绝对正确的。毫无疑问 但是,我想添加一行代码来帮助新手进行Android应用开发。要在编程中使用此资源,您需要通过以下代码行调用此字符串资源:this.getContext().getResources().getString(R.string.Rs)
meDeepakJain


12

在适配器上使用

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

1
尽管此代码从技术上讲可以回答问题,但如果您解释为什么代码可以解决op的问题,则可能会对OP有所帮助
milo526

10

试试这个,代替Rupee_Foradian.ttf使用Rupee.ttf 它将起作用。正在获取货币符号。

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

gr8回答!!!保持这种方式。很快,您将把android程序员变成大师!
AndroidEnthusiastic,2013年

我已经添加了这个。我认为您没有正确阅读我的问题。阅读代码并正确提问。
Manoj Fegde

@ManojFegde可以使用Rupee.ttf而不是Rupee_Foradian.ttf。我已经编辑了我的帖子检查它。让我知道任何澄清
MuraliGanesan

@Muraliganesan:它不起作用。当我遇到错误时-Java.lang.RuntimeException:本机字体不能。
Manoj Fegde

1
谢谢您的帮助。但是上面的答案-<string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> 为我工作。
Manoj Fegde



1

试试这个代码片段,它在 Xamarin.Forms

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

 var rupeeSymbol = india.NumberFormat.CurrencySymbol;


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.