Ich möchte zum Beispiel diesen HTML-Code anzeigen:
<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>
Ich möchte es in einem Dialog anzeigen, indem ich HTML in Ressourcen deklariere strings.xml
. Wie kann ich es tun?
Antworten:
Der beste Weg, um HTML-Quellcode in strings.xml hinzuzufügen, ist die Verwendung
<![CDATA[html source code]]>
. Hier ist ein Beispiel:Dann können Sie dieses HTML in TextView anzeigen, indem Sie:
Wenn Sie Links in Ihrem HTML-Code haben und möchten, dass diese anklickbar sind, verwenden Sie diese Methode:
quelle
getText()
anstelle vongetString()
: stackoverflow.com/a/18199543/89818CDATA
dem tatsächlichen HTML, das Sie einschließen, ist es viel einfacher - Sie müssen nicht alle <,> usw. übersetzen. Kopieren Sie einfach den echten HTML-Code und fügen Sie ihn in Ihre strings.xml einHier sind die meisten Beispiele. Ich glaube nicht, dass das
pre
Tag unterstützt wird.Dies ist die
strings.xml
Datei:Hier ist das Layout. Hinweis: Damit der Link tatsächlich anklickbar ist, ist ein wenig zusätzliche Arbeit erforderlich:
Zum Schluss der Code:
quelle
String.xml kann HTML-Entitäten enthalten, wie folgt:
In Ihrem Code:
getResources().getString(R.string.hello_world);
wird ausgewertet"<span>"
. Sie können diesen HTML-formatierten Text folgendermaßen verwenden:quelle
Das gesamte vom XML-Ressourcensystem unterstützte Styling wird in der Android-Dokumentation erläutert.
String-Ressourcen: Formatierung und Styling
Alles, was dort enthalten ist, kann verwendet und direkt aktiviert werden
TextView
. Wenn Sie weiteren HTML - Markup verwenden müssen, müssen Sie rohes HTML platzieren (mit Escape - Zeichen für<
,>
und so weiter ) in die Ressource und die ganze Sache in einer LastWebView
.quelle
Das hat bei mir funktioniert:
quelle