Establecer el símbolo de la rupia india en la vista de texto

89

Estoy desarrollando una aplicación. Y necesito establecer el símbolo de la rupia india en la vista de texto que se establece con el texto como cantidad.

Símbolo:

ingrese la descripción de la imagen aquí

Tengo la fuente o el archivo .TTF de esto en la carpeta Activos / fuentes.

Y traté de usarlo 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 se indicó anteriormente, al configurar la fuente, obtuve un error de puntero nulo.

En el archivo de Word después de elegir la fuente y escribir ` obtuvimos el símbolo. pero no funciona en Android.

Entonces, ¿qué pasos debo seguir para hacer esto ...

Manoj Fegde
fuente
6
Simplemente use "\ u20B9" en su cadena de texto de conjunto donde quiera que se muestre el símbolo
Akbari Dipali
@Akbari Dipali Intenté "\ u20B9" pero aparece un cuadro en el texto después de ejecutarlo en el emulador. Pero en el diseño de diseño en GUI se ve bien.
Manoj Fegde
@Akbari Dipali Gracias. No funciona en el emulador pero lo probé en el dispositivo. Y funciona bien en eso.
Manoj Fegde
@AkbariDipali Estoy tratando de establecer unicode arriba en la vista de texto, funciona bien en la versión superior pero en las versiones inferiores por debajo de 4.0 se muestra un cuadro en lugar de un símbolo. ¿Puedes ayudarme? cómo configurar en todas las versiones
Dory
@Nidhi Sí, tengo el mismo problema. Parece una caja en el emulador pero en el dispositivo funciona bien para mí. Si tiene algún problema, hágamelo saber. Y si tienes una respuesta, vota a favor y a mí.
Manoj Fegde

Respuestas:

213

ingrese la descripción de la imagen aquí

Hola, usa esto en Strings

Para imprimir el símbolo de la rupia : <string name="Rs">\u20B9</string>

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

androidgeek
fuente
Intenté "\ u20B9" pero aparece un cuadro en el texto después de ejecutarlo en el emulador. Pero en el diseño de diseño en GUI se ve bien.
Manoj Fegde
Gracias. No funciona en el emulador pero lo probé en el dispositivo. Y funciona bien en eso.
Manoj Fegde
1
En mi dispositivo, el primero \u20B9muestra el símbolo de rupias. El segundo \u20A8da texto con 'Rs'. De todos modos lo tengo gracias. +1
Mahendran Sakkarai
Tu respuesta es absolutamente correcta. No hay duda. Pero me gustaría agregar una línea de código para ayudar a los novatos en el desarrollo de aplicaciones de Android. Para utilizar este recurso en su programación, es necesario llamar a este recurso de cadena a través de esta línea de código: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain
22

Úselo \u20B9si desea imprimir el Rupee Symbol
y
Úselo \u20A8si desea imprimir"Rs"

Sanyam Jain
fuente
2
intente usar gist.github.com/john1jan/a82912fb355771e565bea1720439c5dc . Prefija el símbolo de la rupia y agrega incluso una cantidad separada por comas
Juan
prueba esto. // Algún código aquí child: Text ('\ u20B9 $ {tx.amount}') //
Algún
12

usar en adaptador

Viewholder.price.setText("Price: \u20B9"+dataAdapterOBJ.getPrice());
Karan Chunara
fuente
1
Si bien este código técnicamente podría responder a la pregunta, probablemente ayudaría más a OP si explicara por qué su código resuelve el problema de op
milo526
10

Prueba esto, en lugar de Rupee_Foradian.ttfusarlo Rupee.ttf funcionará. estoy obteniendo el símbolo de moneda.

Typeface tf = Typeface.createFromAsset(getAssets(), "font/Rupee.ttf");
textView1.setTypeface(tf);
textView1.setText("`");
MuraliGanesan
fuente
gr8 respuesta !!!! sigue así. pronto te convertirás en programador de android en guru !!!!
AndroidEnthusiastic
Ya agregué este. Creo que no leyó correctamente mi pregunta. Lea el código y pregunte correctamente.
Manoj Fegde
@ManojFegde En lugar de Rupee_Foradian.ttf use Rupee.ttf funcionará. He editado mi publicación compruébalo. déjeme saber cualquier aclaración
MuraliGanesan
@Muraliganesan: No está funcionando. Como recibo un error como: Java.lang.RuntimeException: el tipo de letra nativo no puede.
Manoj Fegde
1
Gracias por tu ayuda. Pero la respuesta anterior como - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> funciona para mí.
Manoj Fegde
2

Simplemente puede presionar Alt+ Ctrl+4

Biakhuna Ralte
fuente
Dependiendo de su teclado y configuración.
Kars
1

Pruebe este fragmento de código en el que funciona bien Xamarin.Forms

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

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

puedes ir con la siguiente línea de código para Flutter

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