先说下大致实现的功能。使用weibview加载新闻详情,在文字内容加载完成之前使用本地的默认图片替代真实图片,加载完成后再将真实图片替换上去。目的是为了在网速不这么快的时候,不会出现只出现文字然后闪的一下图片一个个出来,影响体验。
需要使用到的第三方工具:jsoup
compile 'org.jsoup:jsoup:1.10.3'
混淆:
-keep public class org.jsoup.** {
public *;
}
大致思路:在获取到新闻的内容body数据,使用jsoup获取到img标签,将src的值暂时存储到其他属性中,如alt。把本地图片的路径赋给src,这样直接加载body数据的话就可以显示本地图片了。然后在onPageFinished方法中利用js代码将真实的图片地址替换回src,并添加点击事件。
这里使用知乎日报的api来做示例,上代码:
设置mWebView
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);