2017-10-10 15 views
0

Fondamentalement, j'ai une liste de chaînes Nepali Unicode quelque chose comme {"युनिकोड 1", "युनिकोड 2", "युनिकोड 3"}.Affichage de la chaîne Unicode dans le contrôle Users dans Xamarin (Android)

Maintenant, Tout d'abord, j'ai une vue de texte dans Xamarin (Android) et essayé de définir la propriété de texte en utilisant deux moyens

  1. UnicodeTextView.Text = "युनिकोड 1"; // méthode directe
  2. var police = Typeface.CreateFromAsset (_activity.Assets, "kantiput.TTF"); // kantiput.TTF Est une police Nepali. UnicodeTextView.Typeface = police;
  3. var police = Typeface.CreateFromAsset (_activity.Assets, "kantiput.TTF"); UnicodeTextView.SetTypeface (font, TypefaceStyle.BoldItalic);

et aucun d'entre eux n'a fonctionné. Lorsque vous utilisez la première option était rien affichée, et à travailler avec deux dernières



et il y avait un certain caractère BOX visible.

Pour le premier cas, quand je directement essayé de définir la valeur:

Avant la valeur de réglage:

enter image description here

Après la valeur de réglage:

enter image description here

samething avec le ListAdapter .

enter image description here

Quelqu'un peut-il me suggérer comment pouvons-nous afficher des phrases unicode dans TextView, EditText, Toast?

Je veux entraîner quelque chose comme ceci:

avec TextView:

enter image description here

et est ici le comportement bizarre:

enter image description here

et moi avons essayé tous les code sont dans le commentaire aussi. Toujours n'a pas trouvé de chance.

+0

ajouter cette dépendance 'compilez « org.apache.commons: commons-lang3: 3.4'' Utilisez cette ligne pour le texte situé dans textview 'textview.settext (StringEscapeUtils.unescapeJava ("voici votre textMessage")) ' –

Répondre

0

Je travaille dans android. Dans toast j'ai vérifié comme suit: Toast.makeText (this, "\ u0c05 \ u0c06", Toast.LENGTH_SHORT) .Show();

Pour les deux premières lettres de l'alphabet Telugu s. Ça a marché.

Si vous avez le fichier de police que vous pouvez obtenir les codes unicode pour les différents Glyphes dans le logiciel disponible en ligne à

https://opentype.js.org/index.html 

Sous inspecteur glyphe page.

0

J'ai testé votre code, la première méthode directe UnicodeTextView.Text="युनिकोड १"; fonctionne très bien à mes côtés à la fois avec un seul TextView ou TextView dans ListView.

Ou vous pouvez essayer ce code:

if (Android.OS.Build.VERSION.SdkInt >= Android.OS.Build.VERSION_CODES.N) 
{ 
    UnicodeTextView.Text = Android.Text.Html.FromHtml("युनिकोड १", Android.Text.FromHtmlOptions.ModeLegacy).ToString(); 
} 
else 
{ 
    UnicodeTextView.Text = Android.Text.Html.FromHtml("युनिकोड १").ToString(); 
} 
+0

Salut Grace .. encore, il n'a pas fonctionné de mon côté. Je vais ajouter une autre capture d'écran qui montre un comportement étrange .. dans le fichier de mise en page VisualStudio la chaîne unicode semble être OK et dans le code la valeur est assignée comme prévu. Mais quand il s'agit d'émulateur, il ne sera pas rendu .. pourrait partager votre code à moi .... – ShresthaGanesh

+0

@ShresthaGanesh, le code est exactement comme le vôtre, simplement 'UnicodeTextView.Text =" युनिकोड 1 ";', rend bien ... Avez-vous essayé un périphérique réel ou modifier un autre émulateur? –