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 ...


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>


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


12

utiliser sur l'adaptateur

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

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

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



1

Essayez cet extrait de code dans lequel il fonctionne correctement 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

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

child: Text('\u20B9 ${tx.amount}',
                        
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.