How to display HTML in TextView? How to display HTML in TextView? android android

How to display HTML in TextView?


You need to use Html.fromHtml() to use HTML in your XML Strings. Simply referencing a String with HTML in your layout XML will not work.

This is what you should do in Java

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>"));}

And 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)}


setText(Html.fromHtml(bodyData)) is deprecated after api 24. Now you have to do this:

 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {      tvDocument.setText(Html.fromHtml(bodyData,Html.FROM_HTML_MODE_LEGACY)); } else {      tvDocument.setText(Html.fromHtml(bodyData)); }


Have a look on this: https://stackoverflow.com/a/8558249/450148

It is pretty good too!!

<resource>    <string name="your_string">This is an <u>underline</u> text demo for TextView.</string></resources>

It works only for few tags.