Ustaw symbol rupii indyjskiej w widoku tekstu


89

Rozwijam aplikację. I muszę ustawić symbol rupii indyjskiej w widoku tekstu, który jest ustawiony jako kwota.

Symbol:

wprowadź opis obrazu tutaj

Mam plik czcionki lub .TTF tego w folderze Assets / fonts.

I próbowałem użyć go jako:

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

Jak wyżej, ustawiając czcionkę, otrzymałem błąd wskaźnika zerowego.

W pliku Word po wybraniu czcionki i wpisaniu `` otrzymaliśmy symbol. ale to nie działa w systemie Android.

Jakie kroki powinienem wykonać, aby to zrobić ...


6
Po prostu użyj „\ u20B9” w ustawionym ciągu tekstowym wszędzie tam, gdzie chcesz wyświetlać symbol
Akbari Dipali,

@Akbari Dipali Próbowałem "\ u20B9", ale po uruchomieniu na emulatorze wyświetla pole w tekście. Ale przy projektowaniu układu w GUI wygląda dobrze.
Manoj Fegde

@Akbari Dipali Dziękuję. Nie działa na emulatorze, ale przetestowałem go na urządzeniu. I to działa dobrze.
Manoj Fegde

@AkbariDipali Próbuję ustawić powyżej unicode w widoku tekstowym, działa dobrze w wyższych wersjach, ale w niższych wersjach poniżej 4.0 zamiast symbolu wyświetla się okienko. Czy możesz mi pomóc. jak ustawić we wszystkich wersjach
Dory

@ Nidhi Tak, mam ten sam problem. Wygląda jak pudełko na emulatorze, ale na urządzeniu działa dobrze. Jeśli napotkasz problem, daj mi znać. A jeśli masz odpowiedź, zagłosuj za mną i ze mną.
Manoj Fegde

Odpowiedzi:


213

wprowadź opis obrazu tutaj

Cześć, używam tego w Strings

Symbol rupii do druku : <string name="Rs">\u20B9</string>

W przypadku tekstu Rs do druku : <string name="rs">\u20A8</string>


Próbowałem „\ u20B9”, ale po uruchomieniu na emulatorze wyświetla się ramka w tekście. Ale przy projektowaniu układu w GUI wygląda dobrze.
Manoj Fegde

Dziękuję Ci. Nie działa na emulatorze, ale przetestowałem go na urządzeniu. I to działa dobrze.
Manoj Fegde

1
W moim urządzeniu pierwsza \u20B9daje symbol rupii. Drugi \u20A8podaje tekst „R”. Tak czy inaczej, dzięki. +1
Mahendran Sakkarai

Twoja odpowiedź jest całkowicie poprawna. Nie ma wątpliwości. Ale chciałbym dodać wiersz kodu, aby pomóc początkującym w tworzeniu aplikacji na Androida. Aby korzystać z tego zasobu w Twojej programowania, trzeba zadzwonić do tego zasobu przez ciąg tej linii kodu: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain,


12

Użyj na adapterze

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

1
Chociaż ten kod może technicznie odpowiedzieć na pytanie, ty pewnie pomaga OP więcej, jeśli wyjaśnić dlaczego rozwiązuje problemu twojego kod OP
milo526

10

Spróbuj tego, zamiast Rupee_Foradian.ttfużywać Rupee.ttf , zadziała. otrzymuję symbol waluty.

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

gr8 odpowiedź !!!! utrzymuj to w ten sposób. Wkrótce zostaniesz programistą Androida na guru !!!!
AndroidEnthusiastic

Już dodałem ten. Myślę, że źle przeczytałeś moje pytanie. Przeczytaj kod i poprawnie zadawaj pytania.
Manoj Fegde

@ManojFegde Zamiast Rupee_Foradian.ttf użyj Rupee.ttf to zadziała. zredagowałem swój post, sprawdź to. daj mi znać jakieś wyjaśnienia
MuraliGanesan

@Muraliganesan: To nie działa. Ponieważ otrzymuję błąd, ponieważ wyjątek Java.lang.RuntimeException: natywny krój pisma nie może.
Manoj Fegde

1
Dziękuję za pomoc. Ale powyższa odpowiedź jako - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> działa dla mnie.
Manoj Fegde



1

Wypróbuj ten fragment kodu, w którym działa dobrze 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));
}

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.