텍스트보기에 인도 루피 기호 설정


89

응용 프로그램을 개발 중입니다. 그리고 텍스트를 금액으로 설정 한 텍스트보기에서 인도 루피 기호를 설정해야합니다.

상징:

여기에 이미지 설명 입력

Assets / fonts 폴더에이 글꼴 또는 .TTF 파일이 있습니다.

그리고 나는 그것을 다음과 같이 사용하려고했습니다.

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

위의 설정 글꼴과 같이 null 포인터 오류가 발생했습니다.

글꼴을 선택하고 ` 를 입력하면 워드 파일 에 기호가 표시됩니다. 그러나 그것은 안드로이드에서 작동하지 않습니다.

이 작업을 수행하려면 어떤 단계를 따라야합니까?


6
당신이 기호를 표시하여 원하는 목적지 단순히의 setText 문자열에 "\ u20B9"를 사용
Akbari Dipali

@Akbari Dipali "\ u20B9"를 시도했지만 에뮬레이터에서 실행 한 후 텍스트 상자가 표시됩니다. 그러나 GUI의 레이아웃 디자인에서는 괜찮아 보입니다.
Manoj Fegde 2013 년

@Akbari Dipali 감사합니다. 에뮬레이터에서 작동하지 않지만 장치에서 테스트했습니다. 그것은 그것에 대해 잘 작동합니다.
Manoj Fegde 2013 년

@AkbariDipali 텍스트보기에서 위의 유니 코드를 설정하려고하는데 상위 버전에서는 잘 작동하지만 4.0 이하 버전에서는 기호 대신 상자가 표시됩니다. 도와 주 시겠어요? 모든 버전에서 설정하는 방법
Dory

@Nidhi 네, 같은 문제가 생겼습니다. 에뮬레이터에서는 상자처럼 보이지만 장치에서는 잘 실행됩니다. 문제에 직면하면 알려주십시오. 그리고 당신이 대답을 얻었다면, 그리고 나에게 찬성 투표하십시오.
Manoj Fegde 2013

답변:


213

여기에 이미지 설명 입력

안녕하세요 문자열에서 사용

루피 기호 인쇄 : <string name="Rs">\u20B9</string>

Rs 텍스트 인쇄 : <string name="rs">\u20A8</string>


"\ u20B9"를 시도했지만 에뮬레이터에서 실행 한 후 텍스트에 상자가 표시됩니다. 그러나 GUI의 레이아웃 디자인에서는 괜찮아 보입니다.
Manoj Fegde 2013 년

감사합니다. 에뮬레이터에서 작동하지 않지만 장치에서 테스트했습니다. 그것은 그것에 대해 잘 작동합니다.
Manoj Fegde 2013 년

1
내 장치에서 첫 번째 \u20B9는 루피 기호를 제공합니다. 두 번째 \u20A8는 'Rs'텍스트를 제공합니다. 어쨌든 감사합니다. +1
Mahendran Sakkarai 2015

귀하의 대답은 절대적으로 정확합니다. 의심의 여지가 없습니다. 하지만 초보자가 Android 앱 개발에 참여할 수 있도록 코드 한 줄을 추가하고 싶습니다. 이 리소스를 프로그래밍에 사용하려면 다음 코드 줄을 통해이 문자열 리소스를 호출해야합니다 this.getContext().getResources().getString(R.string.Rs)..
meDeepakJain 19


12

어댑터에 사용

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

1
이 코드는 기술적으로 질문에 답할 수 있지만 코드가 op의 문제를 해결하는 이유를 설명하면 OP에 더 도움이 될 것입니다
milo526

10

이것을 사용해보십시오, Rupee_Foradian.ttf사용 Rupee.ttf 하는 대신 작동합니다. 통화 기호를 받고 있습니다.

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

gr8 대답 !!!! 이런 식으로 유지하십시오. 곧 당신은 전문가로 안드로이드 프로그래머가 될 것입니다 !!!!
AndroidEnthusiastic

나는 이미 이것을 추가했습니다. 제 질문을 제대로 읽지 않으신 것 같습니다. 코드와 질문을 올바르게 읽으십시오.
Manoj Fegde 2013 년

@ManojFegde Rupee_Foradian.ttf 대신 Rupee.ttf를 사용하면 작동합니다. 내 게시물을 수정했습니다. 내가 어떤 해명을 알려
MuraliGanesan

@Muraliganesan : 작동하지 않습니다. Java.lang.RuntimeException : 기본 서체는 할 수 없습니다.
Manoj Fegde 2013 년

1
도와 주셔서 감사합니다. 그러나 위의 대답은- <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> 나를 위해 일하고 있습니다.
Manoj Fegde 2013 년



1

이 코드 스 니펫을 시도해보십시오. 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에 대한 아래 코드 줄을 사용할 수 있습니다.

child: Text('\u20B9 ${tx.amount}',
                        
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.