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?
Sie müssen Folgendes verwenden Html.fromHtml()
um HTML in Ihren XML-Strings zu verwenden. Ein einfacher Verweis auf einen String mit HTML in Ihrem Layout-XML wird nicht funktionieren.
So sollten Sie in Java vorgehen
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
textView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>", Html.FROM_HTML_MODE_COMPACT));
} else {
textView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>"));
}
Und in Kotlin:
textView.text = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml(html, Html.FROM_HTML_MODE_COMPACT)
} else {
Html.fromHtml(html)
}
Wenn ich diese Zeilen einfüge, entsteht eine Lücke zwischen h2 und p, auch wenn ich br entfernt habe, aber es gibt immer noch eine Lücke... wie kann man das beheben?
h2
per definitionem einen großen Spielraum um sich herum schafft. und p
Wenn Sie die Lücke nicht wollen, sollten Sie vielleicht andere HTML-Elemente verwenden.
Wie kann ich HTML-Text im Style-Attribut des Textview-Steuerelements festlegen? Es funktioniert wahrscheinlich nicht.
Das hilft mir sehr. Aber es werden immer noch nicht alle Tags unterstützt arkapp.medium.com/Android-set-html-in-text-view-b912e1a96b21
Schauen Sie sich das an: https://stackoverflow.com/a/8558249/450148
Es ist auch ziemlich gut!!
<resource>
<string name="your_string">This is an <u>underline</u> text demo for TextView.</string>
</resources>
Es funktioniert nur bei wenigen Tags.
@mente Laut Quellcodes : <a>, <b>, <big>, <blockquote>, <br>, <cite>, <dfn> <div align="...">, <em>, <font size="..." color="... " face="..."> <h1-6>, <i>, <img src="...">, <p>, <small> <strike>, <strong>, , <sup>, <tt>, <u> (source: dzone.com/snippets/wie-anzeigen-html-Android )
@JerabekJakub aber Vorsicht, wenn Sie mit img umgehen wollen, müssen Sie Html.ImageGetter implementieren.
Wenn Sie in der Lage sein wollen, es durch xml zu konfigurieren, ohne irgendeine Änderung im Java-Code, können Sie diese Idee hilfreich finden. Rufen Sie einfach init im Konstruktor auf und setzen Sie den Text als html
public class HTMLTextView extends TextView {
... constructors calling init...
private void init(){
setText(Html.fromHtml(getText().toString()));
}
}
xml:
<com.package.HTMLTextView
android:text="@string/about_item_1"/>
Wenn Sie versuchen, HTML aus einer String-Ressource-ID anzuzeigen, wird die Formatierung möglicherweise nicht auf dem Bildschirm angezeigt. Wenn das bei Ihnen der Fall ist, versuchen Sie stattdessen CDATA-Tags zu verwenden:
strings.xml:
<string name="sample_string"><![CDATA[<h2>Title</h2><br><p>Description here</p>]]></string>
...
MainActivity.java:
text.setText(Html.fromHtml(getString(R.string.sample_string));
Siehe dies Beitrag für weitere Einzelheiten.
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.