Définir le symbole de la roupie indienne sur la vue texte

89

Je développe une application. Et je dois définir le symbole de la roupie indienne sur la vue texte qui est définie avec le texte comme montant.

Symbole:

entrez la description de l'image ici

J'ai la police ou le fichier .TTF de ceci dans le dossier Assets / fonts.

Et j'ai essayé de l'utiliser comme:

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

Comme ci-dessus, j'ai obtenu une erreur de pointeur nulle.

Dans le fichier Word, après avoir choisi la police et tapé ` nous avons obtenu le symbole. mais cela ne fonctionne pas sous Android.

Alors, quelles étapes dois-je suivre pour faire cela ...

Manoj Fegde
la source
6
Utilisez simplement "\ u20B9" dans votre chaîne settext là où vous voulez afficher le symbole
Akbari Dipali
@Akbari Dipali J'ai essayé "\ u20B9" mais il montre une boîte dans le texte après avoir exécuté sur l'émulateur. Mais à la conception de la mise en page dans l'interface graphique, cela semble bien.
Manoj Fegde
@Akbari Dipali Merci. Cela ne fonctionne pas sur l'émulateur mais je l'ai testé sur l'appareil. Et ça marche bien là-dessus.
Manoj Fegde
@AkbariDipali J'essaie de définir au-dessus de l'unicode en vue texte, cela fonctionne bien dans la version supérieure, mais dans les versions inférieures inférieures à 4.0, il affiche une boîte au lieu d'un symbole. Peux-tu aider s'il te plait. comment définir dans toutes les versions
Dory
@Nidhi Oui, j'ai le même problème. Cela ressemble à une boîte sur l'émulateur, mais sur l'appareil, cela fonctionne bien pour moi. Si vous rencontrez un problème, faites-le moi savoir. Et si vous avez une réponse, alors votez et moi.
Manoj Fegde

Réponses:

213

entrez la description de l'image ici

Salut utiliser ceci dans les chaînes

Pour imprimer le symbole de la roupie : <string name="Rs">\u20B9</string>

Pour imprimer le texte Rs : <string name="rs">\u20A8</string>

androidgeek
la source
J'ai essayé "\ u20B9" mais il montre une boîte dans le texte après avoir exécuté sur l'émulateur. Mais à la conception de la mise en page dans l'interface graphique, cela semble bien.
Manoj Fegde
Merci. Cela ne fonctionne pas sur l'émulateur mais je l'ai testé sur l'appareil. Et ça marche bien là-dessus.
Manoj Fegde
1
Dans mon appareil, le premier \u20B9donne le symbole des roupies. Le second \u20A8donne le texte «Rs». Bref, j'ai eu ça merci. +1
Mahendran Sakkarai
Votre réponse est absolument correcte. Il n'y a pas de doute. Mais j'aimerais ajouter une ligne de code pour aider les débutants dans le développement d'applications Android. Pour utiliser cette ressource dans votre programmation, vous devez appeler cette ressource chaîne par cette ligne de code: this.getContext().getResources().getString(R.string.Rs).
meDeepakJain
22

À utiliser \u20B9si vous souhaitez imprimer le Rupee Symbol
et À
utiliser \u20A8si vous souhaitez imprimer"Rs"

Sanyam Jain
la source
2
essayez d'utiliser gist.github.com/john1jan/a82912fb355771e565bea1720439c5dc . Il préfixe le symbole de la roupie et ajoute même un montant séparé par une virgule
Jean
essaye ça. // Un peu de code ici enfant: Text ('\ u20B9 $ {tx.amount}') // un peu de code ici
Ashish Dadhich
12

utiliser sur l'adaptateur

Viewholder.price.setText("Price: \u20B9"+dataAdapterOBJ.getPrice());
Karan Chunara
la source
1
Bien que ce code puisse techniquement répondre à la question, vous
aideriez
10

Essayez ceci, au lieu de l' Rupee_Foradian.ttfutiliser, Rupee.ttf cela fonctionnera. j'obtiens le symbole monétaire.

Typeface tf = Typeface.createFromAsset(getAssets(), "font/Rupee.ttf");
textView1.setTypeface(tf);
textView1.setText("`");
MuraliGanesan
la source
réponse gr8 !!!! continuez ainsi. bientôt vous allez au programmeur android en gourou !!!!
AndroidEnthusiastic
J'ai déjà ajouté celui-ci. Je pense que vous n'avez pas bien lu ma question. Lisez le code et posez vos questions correctement.
Manoj Fegde
@ManojFegde Au lieu de Rupee_Foradian.ttf, utilisez Rupee.ttf cela fonctionnera. J'ai édité mon message, vérifiez-le. laissez-moi savoir des clarifications
MuraliGanesan
@Muraliganesan: Cela ne fonctionne pas. Comme j'obtiens une erreur - Java.lang.RuntimeException: la police native ne peut pas.
Manoj Fegde
1
Merci de votre aide. Mais la réponse ci-dessus comme - <string name="Rs">\u20B9</string> (or) <string name="rs">\u20A8</string> fonctionne pour moi.
Manoj Fegde
2

Vous pouvez simplement appuyer sur Alt+ Ctrl+4

Biakhuna Ralte
la source
En fonction de votre clavier et de vos paramètres.
Kars
1

Essayez cet extrait de code dans lequel il fonctionne correctement Xamarin.Forms

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

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

vous pouvez utiliser la ligne de code ci-dessous pour Flutter

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