Setel simbol Rupee India pada tampilan teks


90

Saya sedang mengembangkan aplikasi. Dan saya perlu mengatur simbol rupee India pada tampilan teks yang diatur dengan teks sebagai jumlah.

Simbol:

masukkan deskripsi gambar di sini

Saya memiliki file font atau .TTF ini di folder Assets / Fonts.

Dan saya mencoba menggunakannya sebagai:

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

Seperti di atas pengaturan font saya mendapat kesalahan penunjuk nol.

Di file kata setelah memilih font dan mengetik ` kami mendapat simbol. tetapi tidak berfungsi di android.

Jadi langkah apa yang harus saya ikuti untuk melakukan ini ...


7
Cukup gunakan "\ u20B9" di string setelan Anda di mana pun Anda ingin menampilkan simbol
Akbari Dipali

@Akbari Dipali Saya mencoba "\ u20B9" tetapi muncul kotak di teks setelah dijalankan di emulator. Tetapi pada desain tata letak di GUI terlihat bagus.
Manoj Fegde

@Akbari Dipali Terima kasih. Ini tidak berfungsi di Emulator tetapi saya mengujinya di perangkat. Dan itu bekerja dengan baik untuk itu.
Manoj Fegde

@AkbariDipali Saya mencoba mengatur unicode di atas dalam tampilan teks, ini berfungsi dengan baik di versi atas tetapi di versi yang lebih rendah di bawah 4.0 itu menunjukkan kotak, bukan simbol. Bisakah Anda membantu. cara mengatur di semua versi
Dory

@Nidhi Ya saya punya masalah yang sama. Ini terlihat seperti kotak pada emulator tetapi pada perangkat itu berjalan dengan baik untuk saya. Jika Anda menghadapi masalah, beri tahu saya. Dan jika Anda mendapat jawaban maka upvote dan saya.
Manoj Fegde

Jawaban:


215

enter image description here

Hai, gunakan ini di Strings

Untuk simbol rupee cetak : <string name="Rs">\u20B9</string>

Untuk mencetak teks Rs : <string name="rs">\u20A8</string>


Saya mencoba "\ u20B9" tetapi itu menunjukkan kotak dalam teks setelah berjalan di emulator. Tetapi pada desain tata letak di GUI terlihat baik-baik saja.
Manoj Fegde

Terima kasih. Ini tidak berfungsi di Emulator tetapi saya mengujinya di perangkat. Dan itu bekerja dengan baik untuk itu.
Manoj Fegde

1
Di perangkat saya, yang pertama \u20B9memberi simbol rupee. Yang kedua \u20A8memberikan teks 'Rs'. Pokoknya saya terima terima kasih. +1
Mahendran Sakkarai

Jawaban Anda benar sekali. Tidak diragukan lagi. Tapi, saya ingin menambahkan sebaris kode untuk membantu pemula dalam Pengembangan Aplikasi Android. Untuk menggunakan sumber daya ini ke dalam program Anda, Anda perlu memanggil sumber daya string ini melalui baris kode ini: this.getContext().getResources().getString(R.string.Rs).
sayaDeepakJain


12

digunakan pada Adaptor

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

1
Meskipun kode ini mungkin secara teknis menjawab pertanyaan, Anda mungkin akan lebih membantu OP jika Anda menjelaskan mengapa kode Anda memecahkan masalah op
milo526

10

Coba ini, Alih-alih Rupee_Foradian.ttfmenggunakannya, Rupee.ttf itu akan berhasil. Saya mendapatkan simbol mata uang.

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

gr8 jawaban !!!! pertahankan seperti ini. segera Anda akan menjadi programmer android menjadi guru !!!!
AndroidEnthusiastic

Saya sudah menambahkan yang ini. Saya pikir Anda tidak membaca pertanyaan saya dengan benar. Baca kode dan pertanyaan dengan benar.
Manoj Fegde

@ManojFegde Alih-alih menggunakan Rupee_Foradian.ttf, gunakan Rupee.ttf ini akan berhasil. saya telah mengedit posting saya, periksa. beri tahu saya klarifikasi apa pun
MuraliGanesan

@Muraliganesan: Ini tidak berfungsi. Karena saya mendapatkan kesalahan sebagai- Java.lang.RuntimeException: jenis huruf asli tidak bisa.
Manoj Fegde

1
Terima kasih untuk bantuannya. Tapi jawaban di atas sebagai - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> bekerja untuk saya.
Manoj Fegde



1

Coba cuplikan kode ini berfungsi dengan baik 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

Anda dapat menggunakan baris kode di bawah ini untuk Flutter

child: Text('\u20B9 ${tx.amount}',
                        
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.