2010-12-08 38 views
4

Je suis portage d'une application qui affiche l'hébreu à Android 2.3. L'émulateur 2.3 affiche les chaînes correctement dans un TextView, mais lorsque j'essaie de placer les chaînes dans un WebView, le webview affiche simplement le charabia. Cela me dit que les polices hébraïques sont disponibles dans l'émulateur, mais le code webview a quelque chose qui manque.Android 2.3 Polices hébraïques dans Webview

Voici le code:

 WebView mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.loadData("<html><body>"+temp1 +"</body></html>", 
      "text/html", "UTF-8"); 

Toutes les idées sur la façon d'obtenir l'émulateur pour afficher le WebView correctement.

+0

Bienvenue sur Stackoverflow. Veuillez passer par vos questions précédentes et marquer la meilleure réponse comme la réponse «correcte» en cochant la case à côté de la réponse. –

+0

Veuillez fermer cette question, il a déjà été suffisamment répondu ci-dessous (avec des extraits de code même). – evandrix

Répondre

1

j'ai changé la police du WebView en ajoutant

  mWebView.getSettings().setFixedFontFamily("DroidSansHebrew.ttf"); 

Le texte est rendu dans la police correcte, mais de gauche à droite qui n'est pas l'orientation correcte pour l'hébreu.

+0

J'ai effectivement essayé le code ci-dessus et cela ne fonctionne pas. – Raykud

2

Lorsque vous affichez la page, vous ne laissez pas le navigateur savoir que votre page utilise un script de droite à gauche.

Vous pouvez utiliser l'attribut HTML dir dans un élément de balisage qui entoure votre texte de droite à gauche (il doit détecter automatiquement les caractères à inverser et ceux qui ne le sont pas). (Pour plus de détails, regardez this note from W3C - il semble être mis en œuvre dans Chrome au moins.)

probablement le moyen le plus rapide serait de réécrire la première balise comme:

<html dir="rtl">