Hint Rupisi sembolünü metin görünümünde ayarla


90

Bir uygulama geliştiriyorum. Ve metinle miktar olarak belirlenen metin görünümünde Hint rupisinin sembolünü ayarlamam gerekiyor.

Sembol:

görüntü açıklamasını buraya girin

Assets / fonts klasöründe bunun yazı tipini veya .TTF dosyasını görüyorum.

Ve bunu şu şekilde kullanmayı denedim:

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

Yukarıdaki yazı tipini ayarlama gibi boş işaretçi hatası aldım.

Yazı tipi ve yazmaya seçtikten sonra kelime dosyasında ` biz sembolü var. ancak android'de çalışmıyor.

Peki bunu yapmak için hangi adımları izlemeliyim ...


7
Sembol göstermek istediğiniz her yerde settext dizenizde "\ u20B9" kullanmanız yeterlidir
Akbari Dipali 21

@Akbari Dipali "\ u20B9" u denedim ama emülatörde çalıştırdıktan sonra metinde kutu gösteriyor Ancak GUI'deki düzen tasarımında iyi görünüyor.
Manoj Fegde

@Akbari Dipali Teşekkürler. Emulator üzerinde çalışmıyor ama cihazda test ettim. An bunda iyi çalışıyor.
Manoj Fegde

@AkbariDipali Metin görünümünde unicode'un üstüne ayarlamaya çalışıyorum, üst sürümde iyi çalışıyor ancak 4.0'ın altındaki sürümlerde sembol yerine kutu görünüyor. Lütfen yardım edebilir misin. tüm sürümlerde nasıl ayarlanır
Dory

@Nidhi Evet aynı sorunu yaşadım. Emülatörde kutu gibi görünüyor ama cihazda benim için iyi çalışıyor. Eğer bir sorunla karşılaşırsan bana haber ver. Ve eğer cevabın varsa, o zaman bana ve bana oy ver.
Manoj Fegde

Yanıtlar:


215

görüntü açıklamasını buraya girin

Merhaba bunu Strings'de kullan

Baskı rupisi sembolü için : <string name="Rs">\u20B9</string>

Baskı Rs metni için: <string name="rs">\u20A8</string>


"\ U20B9" u denedim ama emülatörde çalıştırdıktan sonra metinde kutu gösteriliyor. Ancak GUI'deki düzen tasarımında iyi görünüyor.
Manoj Fegde

Teşekkür ederim. Emulator üzerinde çalışmıyor ama cihazda test ettim. An bunda iyi çalışıyor.
Manoj Fegde

1
Benim cihazımda birincisi \u20B9rupi sembolünü veriyor. İkincisi \u20A8, 'Rs' metnini verir. Neyse, teşekkür ederim. +1
Mahendran Sakkarai

Cevabınız kesinlikle doğru. Hiç şüphe yok. Ancak, Android Uygulama Geliştirme'ye yeni başlayanlara yardımcı olmak için bir kod satırı eklemek istiyorum. Programlamanızla içine bu kaynağı kullanmak için, bu kod hat üzerinden bu dize kaynağı aramak gerekir: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain



10

Bunu deneyin, Rupee_Foradian.ttfkullanmak yerine Rupee.ttf işe yarayacaktır. para birimi simgesi alıyorum.

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

gr8 cevap !!!! bu şekilde devam et. yakında android programcısına guru olacaksın !!!!
AndroidEnthusiastic 13

Bunu zaten ekledim. Sorumu doğru bir şekilde okumadığınızı düşünüyorum. Kodu ve soruyu doğru okuyun.
Manoj Fegde

Rupee_Foradian.ttf yerine @ManojFegde Rupee.ttf kullanın, işe yarayacaktır. gönderimi düzenledim kontrol et. herhangi bir açıklama yapmama izin ver
MuraliGanesan 02

@Muraliganesan: Çalışmıyor. Java.lang.RuntimeException olarak hata alıyorum: yerel yazı tipi yapılamıyor.
Manoj Fegde

1
Yardımın için teşekkürler. Ama yukarıdaki cevap - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> benim için çalışıyor.
Manoj Fegde



1

Bu kod parçacığını deneyin, iyi çalışıyor 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));
}

0

Flutter için aşağıdaki kod satırı ile gidebilirsiniz

child: Text('\u20B9 ${tx.amount}',
                        
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.