我有简单的HTML:
<h2>Title</h2><br>
<p>description here</p>
我想在TextView中显示HTML样式的文本。如何做到这一点?
我有简单的HTML:
<h2>Title</h2><br>
<p>description here</p>
我想在TextView中显示HTML样式的文本。如何做到这一点?
当前回答
只需使用:
String variable="StackOverflow";
textView.setText(Html.fromHtml("<b>Hello : </b>"+ variable));
其他回答
String value = "<html> <a href=\"http://example.com/\">example.com</a> </html>";
SiteLink= (TextView) findViewById(R.id.textViewSite);
SiteLink.setText(Html.fromHtml(value));
SiteLink.setMovementMethod(LinkMovementMethod.getInstance());
简单使用Html.fromHtml(“Html字符串”)。这会奏效的。如果字符串具有类似<h1>的标记,则空格将出现。但我们无法消除这些空间。如果仍要删除空格,则可以删除字符串中的标记,然后将字符串传递给Html.fromHtml(“Html string”);方法。通常,这些字符串也来自服务器(动态),但如果将字符串原样传递给方法比从字符串中删除标记更好,则不经常这样做。
简单地使用
checkBoxTextView.text =
Html.fromHtml("<p><font color=#666666>I agree to</font><font color=#0173B7> <b><u>Terms & Conditions</u></b></font><font color=#666666> and the <u></font><b><font color=#0173B7>Privacy Policy</font></u></b></font></p>")
人们已经为TextView、WebView和各种解决方案建议了子类。我想知道为什么没有人提到一个简单的绑定适配器。
@BindingAdapter(value = ["htmlText"])
fun TextView.setHtmlText(string: String?) {
text = HtmlCompat.fromHtml(string?:"", HtmlCompat.FROM_HTML_MODE_COMPACT)
}
因此,您的TextView xml将如下所示
<TextView
...
htmlText="<p>Your <b>HTML</b> text</p>"
... />
您可以像这样使用简单的Kotlin扩展函数:
fun TextView.setHtmlText(source: String) {
this.text = HtmlCompat.fromHtml(source, HtmlCompat.FROM_HTML_MODE_LEGACY)
}
和用法:
textViewMessage.setHtmlText("Message: <b>Hello World</b>")