Stellen Sie das indische Rupien-Symbol in der Textansicht ein

87

Ich entwickle eine Anwendung. Und ich muss das Symbol der indischen Rupie in der Textansicht festlegen, die mit dem Text als Betrag festgelegt wird.

Symbol:

Geben Sie hier die Bildbeschreibung ein

Ich habe die Schriftart oder .TTF-Datei davon im Ordner Assets / fonts.

Und ich habe versucht, es zu verwenden als:

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

Wie oben beim Einstellen der Schriftart habe ich einen Nullzeigerfehler erhalten.

In der Word-Datei nach Auswahl der Schriftart und Eingabe von ` wir das Symbol erhalten. aber es funktioniert nicht in Android.

Also, welche Schritte sollte ich befolgen, um dies zu tun ...

Manoj Fegde
quelle
6
Verwenden Sie einfach "\ u20B9" in Ihrer Settext-Zeichenfolge, wo immer Sie das Symbol
anzeigen
@Akbari Dipali Ich habe "\ u20B9" ausprobiert, aber es wird ein Feld im Text angezeigt, nachdem es auf dem Emulator ausgeführt wurde. Aber beim Layout-Design in der GUI sieht es gut aus.
Manoj Fegde
@ Akbari Dipali Danke. Es funktioniert nicht auf Emulator, aber ich habe es auf dem Gerät getestet. Und das funktioniert gut.
Manoj Fegde
@AkbariDipali Ich versuche, über Unicode in der Textansicht zu setzen. Es funktioniert gut in der oberen Version, aber in den unteren Versionen unter 4.0 wird ein Feld anstelle eines Symbols angezeigt. Können Sie bitte helfen. wie man in allen Versionen einstellt
Dory
@ Nidhi Ja, ich habe das gleiche Problem. Es sieht aus wie eine Box auf dem Emulator, aber auf dem Gerät läuft es gut für mich. Wenn Sie Probleme haben, lassen Sie es mich wissen. Und wenn du eine Antwort hast, dann stimme zu und ich.
Manoj Fegde

Antworten:

206

Geben Sie hier die Bildbeschreibung ein

Hallo, benutze dies in Strings

Für das Druck- Rupien-Symbol : <string name="Rs">\u20B9</string>

Zum Drucken von Rs- Text: <string name="rs">\u20A8</string>

androidgeek
quelle
Ich habe "\ u20B9" ausprobiert, aber nach dem Ausführen auf dem Emulator wird das Feld im Text angezeigt. Aber beim Layout-Design in der GUI sieht es gut aus.
Manoj Fegde
Danke dir. Es funktioniert nicht auf Emulator, aber ich habe es auf dem Gerät getestet. Und das funktioniert gut.
Manoj Fegde
1
In meinem Gerät \u20B9gibt der erste das Rupien-Symbol. Der zweite \u20A8gibt 'Rs' Text. Jedenfalls habe ich diesen Dank bekommen. +1
Mahendran Sakkarai
Ihre Antwort ist absolut richtig. Es gibt keinen Zweifel. Ich möchte jedoch eine Codezeile hinzufügen, um Neulingen bei der Entwicklung von Android-Apps zu helfen. Um diese Ressource in Ihrer Programmierung zu verwenden, müssen Sie diese Zeichenfolgenressource über diese Codezeile aufrufen : this.getContext().getResources().getString(R.string.Rs).
MeDeepakJain
20

Verwenden \u20B9Sie, wenn Sie das drucken möchten, Rupee Symbol
und
Verwenden \u20A8Sie, wenn Sie drucken möchten"Rs"

Sanyam Jain
quelle
2
Versuchen Sie es mit gist.github.com/john1jan/a82912fb355771e565bea1720439c5dc . Es stellt das Rupien-Symbol voran und fügt sogar einen durch Kommas getrennten Betrag hinzu
John
11

Verwendung am Adapter

Viewholder.price.setText("Price: \u20B9"+dataAdapterOBJ.getPrice());
Karan Chunara
quelle
1
Während dieser Code die Frage technisch beantworten könnte, würden Sie OP wahrscheinlich mehr helfen, wenn Sie erklären, warum Ihr Code das Problem von op löst
milo526
10

Versuchen Sie dies, anstatt es zu Rupee_Foradian.ttfverwenden Rupee.ttf , wird es funktionieren. Ich bekomme ein Währungssymbol.

Typeface tf = Typeface.createFromAsset(getAssets(), "font/Rupee.ttf");
textView1.setTypeface(tf);
textView1.setText("`");
MuraliGanesan
quelle
gr8 Antwort !!!! mach weiter so. Bald wirst du Android Programmierer in Guru !!!!
AndroidEnthusiastic
Ich habe diesen bereits hinzugefügt. Ich denke, Sie haben meine Frage nicht richtig gelesen. Lesen Sie den Code und stellen Sie die Frage richtig.
Manoj Fegde
@ManojFegde Anstelle von Rupee_Foradian.ttf wird Rupee.ttf verwendet, es wird funktionieren. Ich habe meinen Beitrag bearbeitet. Lassen Sie mich alle Klarstellungen wissen
MuraliGanesan
@ Wandiganesan: Es funktioniert nicht. Da ich den Fehler as- Java.lang.RuntimeException erhalte: native Schrift kann nicht.
Manoj Fegde
1
Danke für Ihre Hilfe. Aber die obige Antwort als - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> funktioniert für mich.
Manoj Fegde
1

Probieren Sie dieses Code-Snippet aus, in dem es einwandfrei funktioniert Xamarin.Forms

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

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

Sie können einfach Alt+ Ctrl+ drücken4

Biakhuna Ralte
quelle
Abhängig von Ihrer Tastatur und Ihren Einstellungen.
Kars