Đặt biểu tượng Rupee Ấn Độ trên chế độ xem văn bản


89

Tôi đang phát triển một ứng dụng. Và tôi cần đặt biểu tượng của đồng rupee Ấn Độ trên chế độ xem văn bản được đặt với văn bản là số tiền.

Biểu tượng:

nhập mô tả hình ảnh ở đây

Tôi đang có phông chữ hoặc tệp .TTF của tệp này trong thư mục Nội dung / phông chữ.

Và tôi đã cố gắng sử dụng nó như:

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

Như trên cài đặt phông chữ, tôi gặp lỗi con trỏ rỗng.

Trong file word sau khi chọn font và gõ ` chúng ta đã có ký hiệu. nhưng nó không hoạt động trong Android.

Vì vậy, những bước tôi nên làm theo để thực hiện việc này ...


6
Chỉ cần sử dụng "\ u20B9" trong chuỗi settext của bạn ở bất kỳ nơi nào bạn muốn hiển thị biểu tượng
Akbari Dipali

@Akbari Dipali Tôi đã thử "\ u20B9" nhưng nó hiển thị hộp trong văn bản sau khi chạy trên trình mô phỏng. Nhưng ở thiết kế bố cục trong GUI, nó có vẻ ổn.
Manoj Fegde

@Akbari Dipali Cảm ơn bạn. Nó không hoạt động trên Emulator nhưng tôi đã thử nghiệm nó trên thiết bị. An nó hoạt động tốt về điều đó.
Manoj Fegde

@AkbariDipali Tôi đang cố gắng đặt unicode ở trên trong chế độ xem văn bản, nó hoạt động tốt ở phiên bản cao hơn nhưng ở phiên bản thấp hơn dưới 4.0 nó hiển thị một hộp thay vì biểu tượng. Bạn có thể vui lòng giúp đỡ. làm thế nào để thiết lập trong tất cả các phiên bản
Dory

@Nidhi Có, tôi gặp vấn đề tương tự. Nó trông giống như hộp trên trình giả lập nhưng trên thiết bị, nó chạy tốt đối với tôi. Nếu bạn gặp vấn đề thì hãy cho tôi biết. Và nếu bạn có câu trả lời thì hãy ủng hộ tôi và tôi.
Manoj Fegde

Câu trả lời:


213

nhập mô tả hình ảnh ở đây

Xin chào, sử dụng cái này trong Strings

Đối với biểu tượng rupee in : <string name="Rs">\u20B9</string>

Đối với văn bản Rs in : <string name="rs">\u20A8</string>


Tôi đã thử "\ u20B9" nhưng nó hiển thị hộp trong văn bản sau khi chạy trên trình mô phỏng. Nhưng ở thiết kế bố cục trong GUI, nó có vẻ ổn.
Manoj Fegde

Cảm ơn bạn. Nó không hoạt động trên Emulator nhưng tôi đã thử nghiệm nó trên thiết bị. An nó hoạt động tốt về điều đó.
Manoj Fegde

1
Trong thiết bị của tôi, đầu tiên \u20B9đưa ra biểu tượng đồng rupee. Thứ hai \u20A8cho văn bản 'Rs'. Dù sao tôi đã nhận được rằng cảm ơn. +1
Mahendran Sakkarai

Câu trả lời của bạn là hoàn toàn chính xác. Không còn nghi ngờ gì nữa. Tuy nhiên, tôi muốn thêm một dòng mã để giúp người mới tham gia Phát triển ứng dụng Android. Để sử dụng nguồn tài nguyên này vào chương trình của bạn, bạn cần phải gọi tài nguyên chuỗi này thông qua dòng mã này: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain


12

sử dụng trên Bộ điều hợp

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

1
Trong khi mã này về mặt kỹ thuật có thể trả lời những câu hỏi mà bạn có lẽ sẽ giúp đỡ OP hơn nếu bạn giải thích tại sao phá được mã của bạn op của vấn đề
milo526

10

Hãy thử điều này, Thay vì Rupee_Foradian.ttfsử dụng Rupee.ttf nó sẽ hoạt động. đang nhận được biểu tượng tiền tệ.

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

câu trả lời gr8 !!!! giữ nó theo cách này. sắp tới bạn sẽ lập trình viên android thành guru !!!!
AndroidE Nhiệt huyết

Tôi đã thêm cái này. Tôi nghĩ rằng bạn đã không đọc đúng câu hỏi của tôi đúng cách. Đọc mã và câu hỏi đúng cách.
Manoj Fegde

@ManojFegde Thay vì Rupee_Foradian.ttf hãy sử dụng Rupee.ttf nó sẽ hoạt động. Tôi đã chỉnh sửa bài viết của mình, hãy kiểm tra nó. cho tôi biết bất kỳ lời giải thích nào
MuraliGanesan

@Muraliganesan: Nó không hoạt động. Vì tôi đang gặp lỗi as- Java.lang.RuntimeException: kiểu chữ gốc không thể.
Manoj Fegde

1
Cảm ơn sự giúp đỡ của bạn. Nhưng câu trả lời ở trên là - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> đang làm việc cho tôi.
Manoj Fegde



1

Hãy thử đoạn mã này, nó hoạt động tốt trong 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

bạn có thể sử dụng dòng mã dưới đây cho Flutter

child: Text('\u20B9 ${tx.amount}',
                        
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.