Android: le code html dans strings.xml
Je voudrais afficher par exemple ce code html:
<body>
<p><b>Hello World</b></p>
<p>This is a test of the URL <a href="http://www.example.com"> Example</a></p>
<p><b>This text is bold</b></p>
<p><em>This text is emphasized</em></p>
<p><code>This is computer output</code></p>
<p>This is<sub> subscript</sub> and <sup>superscript</sup></p>
</body>
Je veux l'afficher dans une boîte de Dialogue en déclarant html en ressources strings.xml
. Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
La meilleure façon d'ajouter du code html dans le code source strings.xml est d'utiliser
<![CDATA[html source code]]>
. Voici un exemple:Ensuite, vous pouvez afficher ce code html dans TextView à l'aide de:
Si vous avez des liens dans votre code html et vous voulez qu'ils soient cliquables, l'utilisation de cette méthode:
getText()
au lieu degetString()
: stackoverflow.com/a/18199543/89818CDATA
le HTML que vous incluez beaucoup plus facile - pas besoin de traduire tous les <, >, etc. Il suffit de copier le réel HTML et collez-le dans votre strings.xmlVoici la plupart des exemples. Je ne pense pas que le
pre
balise est prise en charge.C'est le
strings.xml
fichier:Voici la mise en page. Note pour le lien effectivement être cliquable, il y a un peu de travail supplémentaire nécessaire:
Enfin, le code:
String.xml peut contenir des entités HTML, comme ceci:
Dans votre code:
getResources().getString(R.string.hello_world);
permettra d'évaluer à"<span>"
. Vous pouvez utiliser ce texte au format HTML comme ceci:Tout le style soutenu par les ressources XML système est expliqué dans l'Android documentation.
Ressources de chaîne: mise en forme et de Coiffage
Rien compris il ne peut être utilisé et mis directement sur
TextView
. Si vous avez besoin d'utiliser d'autres balises HTML, vous devrez passer du HTML brut (avec des caractères d'échappement pour<
,>
et tel) dans la ressource et de la charge de la chose entière dans uneWebView
.Cela a Fonctionné pour moi :