문제

I using the following string entry in strings.xml file to display rupee symbol.

<string name="current_amount">"Balance: &#x20B9;%.2f"</string>

It displays a square rather than the actual symbol on Android 2.2.

Please help.

PS: I am testing it on an emulator for Android 2.2, I don't have a 2.2 device.

도움이 되었습니까?

해결책


[EDIT] Working soultion for Android 2.2

Ok here's how you can get it to work. You'll have to download the font Rupee_Foradian.ttf from here and put it in the assets folder.

Then, place this line in strings.xml file

<string name="rs">`</string>

And finally set the Typeface using this code:

TextView t = (TextView) findViewById(R.id.text);
Typeface face = Typeface.createFromAsset(getAssets(), "Rupee_Foradian.ttf");
t.setTypeface(face);
t.setText("Balance " + getResources().getString(R.string.rs));



enter image description here


[Original] Doesn't work on Android 2.2

Put this line in your strings.xml file

<string name="rs">\u20B9</string>

In your code, for example, if you're assigning it to a TextView do this:

TextView text = (TextView) findViewById(R.id.text);
text.setText("Balance " + getResources().getString(R.string.rs) + VALUE);

다른 팁

<string name="current_amount">Balance: &#x20B9;</string>

I have tried this and it works

You need to ensure you are using a font that can display this unicode character. You can change the font of your views as follows:

In your main activity MainActivity.java

public static final String PREF_MYFONT = "DejaVuSansCondensed.ttf";

In your view where you need to display the Rupee symbol MyView.java

@Override
public void onStart() {
    super.onStart();

    myTitle=(TextView) getActivity().findViewById(R.id.title);
    myDescription=(TextView) getActivity().findViewById(R.id.description);

    Typeface font = Typeface.createFromAsset(getActivity().getAssets(), MainActivity.PREF_MYFONT);  

    myTitle.setTypeface(font);
    myDescription.setTypeface(font);
}

pendingApprovalReceiptPaymentFragmentBinding.tvAmountValue.setText(getResources().getString(R.string.Rs)+" "+Integer.toString(pendingApprovalListModel.getAmount()));

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top