Definir o símbolo da Rúpia Indiana na visualização de texto

90

Estou desenvolvendo um aplicativo. E preciso definir o símbolo da rupia indiana no modo de exibição de texto, que é definido com o texto como quantidade.

Símbolo:

insira a descrição da imagem aqui

Estou tendo a fonte ou o arquivo .TTF disso na pasta Ativos / fontes.

E tentei usá-lo como:

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

Como acima, ao definir a fonte, obtive um erro de ponteiro nulo.

No arquivo word após escolher a fonte e digitar ` temos o símbolo. mas não está funcionando no Android.

Então, quais etapas devo seguir para fazer isso ...

Manoj Fegde
fonte
7
Basta usar "\ u20B9" em sua string de texto definido sempre que quiser mostrar o símbolo
Akbari Dipali
@Akbari Dipali Tentei "\ u20B9" mas mostra uma caixa no texto após rodar no emulador. Mas, no design de layout da GUI, parece bom.
Manoj Fegde
@Akbari Dipali Obrigado. Não está funcionando no emulador, mas testei no dispositivo. E funciona bem nisso.
Manoj Fegde
@AkbariDipali Estou tentando definir acima unicode no modo de exibição de texto, funciona bem na versão superior, mas nas versões inferiores abaixo de 4.0 mostra uma caixa em vez de um símbolo. Você pode por favor ajudar. como configurar em todas as versões
Dory
@Nidhi Sim, tenho o mesmo problema. Parece uma caixa no emulador, mas no dispositivo funciona bem para mim. Se você enfrentar problemas, me avise. E se você obtiver resposta, vote a favor e eu.
Manoj Fegde

Respostas:

215

insira a descrição da imagem aqui

Olá, use isso em Strings

Para imprimir o símbolo da rupia : <string name="Rs">\u20B9</string>

Para imprimir texto Rs : <string name="rs">\u20A8</string>

androidgeek
fonte
Tentei "\ u20B9", mas mostra uma caixa no texto após a execução no emulador. Mas, no design de layout da GUI, parece bom.
Manoj Fegde
Obrigado. Não está funcionando no emulador, mas testei no dispositivo. E funciona bem nisso.
Manoj Fegde
1
No meu dispositivo, o primeiro \u20B9apresenta o símbolo de rúpias. O segundo \u20A8fornece o texto 'Rs'. De qualquer forma, eu recebo isso, obrigado. +1
Mahendran Sakkarai
Sua resposta está absolutamente correta. Não há duvidas. Mas, eu gostaria de adicionar uma linha de código para ajudar os iniciantes no Android App Development. Para usar este recurso em sua programação, você precisa chamar esse recurso de cadeia por esta linha de código: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain
22

Use \u20B9se quiser imprimir Rupee Symbol
e
Use \u20A8se quiser imprimir"Rs"

Sanyam Jain
fonte
2
tente usar gist.github.com/john1jan/a82912fb355771e565bea1720439c5dc . Ele prefixa o símbolo de rupia e adiciona até mesmo dar um valor separado por vírgulas
João
tente isso. // Algum código aqui child: Text ('\ u20B9 $ {tx.amount}') // algum código aqui
Ashish Dadhich
12

usar no adaptador

Viewholder.price.setText("Price: \u20B9"+dataAdapterOBJ.getPrice());
Karan Chunara
fonte
1
Embora este código possa responder tecnicamente à pergunta, você provavelmente ajudaria mais o OP se explicasse por que seu código resolve o problema de op
milo526
10

Experimente, em vez de Rupee_Foradian.ttfusar Rupee.ttf , funcionará. estou recebendo o símbolo da moeda.

Typeface tf = Typeface.createFromAsset(getAssets(), "font/Rupee.ttf");
textView1.setTypeface(tf);
textView1.setText("`");
MuraliGanesan
fonte
gr8 resposta !!!! continue assim. logo você está indo para o programador android em guru !!!!
AndroidEnthusiastic
Eu já adicionei este. Acho que você não leu minha pergunta corretamente. Leia o código e questione corretamente.
Manoj Fegde
@ManojFegde Em vez de Rupee_Foradian.ttf use Rupee.ttf ele funcionará. Eu editei meu post, verifique. deixe-me saber qualquer esclarecimento
MuraliGanesan
@Muraliganesan: Não está funcionando. Como estou recebendo erro como- Java.lang.RuntimeException: tipo de letra nativo não pode.
Manoj Fegde
1
Obrigado pela ajuda. Mas a resposta acima <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> é - está funcionando para mim.
Manoj Fegde,
2

Você pode simplesmente pressionar Alt+ Ctrl+4

Biakhuna Ralte
fonte
Dependendo do seu teclado e configurações.
Kars de
1

Experimente este snippet de código, ele está funcionando bem em Xamarin.Forms

 CultureInfo india = new CultureInfo("hi-IN");

 var rupeeSymbol = india.NumberFormat.CurrencySymbol;
praveen acha
fonte
1
 public static String getIndianRupee(String value) {
    Format format = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
    return format.format(new BigDecimal(value));
}
Gautam Surani
fonte
0

você pode ir com a linha de código abaixo para Flutter

child: Text('\u20B9 ${tx.amount}',
                        
Ashish Dadhich
fonte