テキストビューにインドルピー記号を設定する


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("`");

上記のようにフォントを設定すると、nullポインタエラーが発生しました。

フォントを選択して`と入力すると、Wordファイルに記号が表示されます。しかし、それはアンドロイドでは機能していません。

だから私はこれを行うためにどのような手順に従うべきですか...


6
記号を表示したい場所では、settext文字列で「\ u20B9」を使用するだけです
Akbari Dipali

@AkbariDipali「\ u20B9」を試しましたが、エミュレータで実行するとテキストでボックスが表示されます。しかし、GUIのレイアウト設計では問題ないように見えます。
Manoj Fegde 2013年

@AkbariDipaliありがとうございます。エミュレータでは動作しませんが、デバイスでテストしました。それはそれでうまくいきます。
Manoj Fegde 2013年

@AkbariDipaliテキストビューでUnicodeの上に設定しようとしています。上のバージョンではうまく機能しますが、4.0より下のバージョンでは記号の代わりにボックスが表示されます。助けてくれませんか。すべてのバージョンで設定する方法
Dory 2013

@Nidhiはい、同じ問題が発生しました。エミュレータではボックスのように見えますが、デバイスでは問題なく動作します。問題が発生した場合はお知らせください。そして、あなたが答えを得たら、それから私と賛成してください。
Manoj Fegde 2013

回答:


213

ここに画像の説明を入力してください

こんにちは文字列でこれを使用します

印刷ルピー記号の場合<string name="Rs">\u20B9</string>

印刷Rsテキストの場合: <string name="rs">\u20A8</string>


「\ u20B9」を試しましたが、エミュレータで実行するとテキストでボックスが表示されます。しかし、GUIのレイアウト設計では問題ないように見えます。
Manoj Fegde 2013年

ありがとうございました。エミュレータでは動作しませんが、デバイスでテストしました。それはそれでうまくいきます。
Manoj Fegde 2013年

1
私のデバイスでは、最初\u20B9にルピー記号が表示されます。2番目\u20A8は「Rs」テキストを提供します。とにかく私はその感謝を得ました。+1
マヘンドランサッカライ

あなたの答えは絶対に正しいです。間違いありません。ただし、Androidアプリ開発の初心者を支援するためのコード行を追加したいと思います。このリソースをプログラミングで使用するには、次のコード行からこの文字列リソースを呼び出す必要がありますthis.getContext().getResources().getString(R.string.Rs)
meDeepakJain


12

アダプターでの使用

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

1
このコードは技術的に質問に答えるかもしれませんが、コードがopの問題を解決する理由を説明すれば、おそらくOPをさらに助けるでしょう
milo526 2018

10

これを試してください、Rupee_Foradian.ttf使用Rupee.ttf する代わりにそれは動作します。通貨記号を取得しています。

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

gr8の答え!!!! このようにそれを維持します。すぐにあなたはグルにアンドロイドプログラマーに行くつもりです!!!!
AndroidEnthusiastic 2013年

私はすでにこれを追加しました。あなたは私の質問をきちんと読んでいなかったと思います。コードを読み、適切に質問します。
Manoj Fegde 2013年

@ManojFegde Rupee_Foradian.ttfの代わりにRupee.ttfを使用すると、機能します。投稿を編集しました。確認してください。説明があれば教えてください
MuraliGanesan 2013年

@Muraliganesan:機能していません。Java.lang.RuntimeExceptionとしてエラーが発生しているため、ネイティブ書体はできません。
Manoj Fegde 2013年

1
ご協力ありがとうございました。しかし、上記の答えは-<string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> として私のために働いています。
Manoj Fegde 2013年



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));
}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.