今天和大家交流一下htmlTextView的使用,HtmlTextView是一个开源的原生安卓第三方控件,主要的用途是直接把web端的html内容解析后展示在安卓手机上。应用场景很多,比如很多新闻类APP在web端编辑入库后是html的格式,这时候如果想显示在手机上,HtmlTextView就是一个很好的选择,当然有人会说谷歌自己的TextView通过一些方法也可以实现,但是我试过,效果简直不能再差,而且使用起来很复杂。这个HtmlTextView有多好,话不多说,直接上图:
在使用的时候,第一步是引入控件的依赖:
repositories {
jcenter()
}
dependencies {
compile 'org.sufficientlysecure:html-textview:4.0'
}
引入依赖后有几种不同的使用方式,根据自己实际的场景进行选择:
大部分的html标签都已经支持:
<p>
<div> handled exactly like <p>
<br>
<b>
<i>
<strong> (bug on some Android versions: generates italic)
<em> (bug on some Android versions: generates bold)
<u>
<tt>
<dfn>
<sub>
<sup>
<blockquote>
<cite>
<big>
<small>
<font color="..." face="...">
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>
<a href="...">
<img src="...">
最后,一个最重要的问题,也是我最近使用遇到的最大的问题:
当html里面有src或者href等的时候,如果不做处理,APP会出现无法跳转至浏览器并且崩溃闪退的情况。解决这个问题的办法就是在方法里添加对应的点击事件,如下:
htmlTextView.setOnClickATagListener(new OnClickATagListener() {
@Override
public boolean onClick(View widget, String spannedText, @Nullable String href) {
return false;
}
});