Ich habe einfache HTML :
<h2>Title</h2><br>
<p>description here</p>
Ich möchte einen HTML-gestalteten Text in TextView
. Wie ist dies zu tun?
Ich habe einfache HTML :
<h2>Title</h2><br>
<p>description here</p>
Ich möchte einen HTML-gestalteten Text in TextView
. Wie ist dies zu tun?
Es ist erwähnenswert, dass die Methode Html.fromHtml(String source) ist ab API-Stufe 24 veraltet. Wenn das Ihre Ziel-API ist, sollten Sie Html.fromHtml(String source, int flags) stattdessen.
In verschiedenen Antworten wurde vorgeschlagen, die Html Framework-Klasse, wie hier vorgeschlagen, aber leider hat diese Klasse ein unterschiedliches Verhalten in verschiedenen Versionen von Android und verschiedene nicht behobene Bugs, wie in Problemen gezeigt 214637 , 14778 , 235128 y 75953 .
Sie können daher eine Kompatibilitätsbibliothek verwenden, um die Html-Klasse zu standardisieren und über Android-Versionen hinweg zu portieren, die mehr Callbacks für Elemente und Styling enthält:
Obwohl sie der Html-Klasse des Frameworks ähnelt, waren einige Änderungen der Signatur erforderlich, um mehr Rückrufe zu ermöglichen. Hier ist das Beispiel von der GitHub-Seite:
Spanned fromHtml = HtmlCompat.fromHtml(context, source, 0);
// You may want to provide an ImageGetter, TagHandler and SpanCallback:
//Spanned fromHtml = HtmlCompat.fromHtml(context, source, 0,
// imageGetter, tagHandler, spanCallback);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setText(fromHtml);
@MartijnPieters Die zuvor geschlossene Antwort war ein Duplikat einer Antwort auf diese Frage im Zusammenhang mit der Ausmusterung einer Rahmenmethode . Ich habe den Grund dafür, dass eine Kompatibilitätsbibliothek der bessere Ansatz wäre, näher erläutert. Ich glaube nicht, dass es sinnvoll ist, eine der beiden Fragen als Duplikat zu kennzeichnen, da sie eindeutig unterschiedlich sind.
Ich möchte auch folgendes Projekt vorschlagen: https://github.com/NightWhistler/HtmlSpanner
Die Nutzung ist fast die gleiche wie beim Standard-Android-Konverter:
(new HtmlSpanner()).fromHtml()
Ich habe es gefunden, nachdem ich bereits mit einer eigenen Implementierung eines Konverters für die Umwandlung von html in spannable begonnen hatte, da der Standard Html.fromHtml nicht genügend Flexibilität bei der Steuerung der Darstellung bietet und auch keine Möglichkeit, benutzerdefinierte Schriftarten aus ttf zu verwenden
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
8 Stimmen
Möchten Sie die Tags anzeigen oder weglassen?
1 Stimmen
Ein funktionierendes Beispiel finden Sie unter diesem Link javatechig.com/2013/04/07/how-to-display-html-in-Android-view
1 Stimmen
Wenn Sie nach einer veralteten Lösung suchen, sind Sie hier genau richtig stackoverflow.com/questions/37904739/
1 Stimmen
Textview.setText(Html.fromHtml("your HTML")); ist die beste Methode, um nur HTML-Tags anzuzeigen. Es gibt auch eine Methode, um JS abzuspielen.
0 Stimmen
Android unterstützt nicht alle HTML-Tags. Prüfen Sie dies arkapp.medium.com/Android-set-html-in-text-view-b912e1a96b21 um besser zu verstehen, wie man in der Textansicht arbeitet.