Android 加载纯文本的方法
引入包依赖包
implementationgroup:'org.jsoup',name:'jsoup',version:'1.8.3'
webView.getSettings().setJavaScriptEnabled(true);
//loadDataWithBaseURL加载数据的方法 changeImageWidth是写的方法
richtext=content;//文本内容
webView.loadDataWithBaseURL(null, changeImageWidth(richtext), "text/html", "utf-8", null);
webView.setHorizontalScrollBarEnabled(false); //隐藏水平滚动条
webView.setVerticalScrollBarEnabled(false); //隐藏竖直滚动条
/*
WebView默认用系统自带浏览器处理页面跳转。
为了让页面跳转在当前WebView中进行,重写WebViewClient。
但是按BACK键时,不会返回跳转前的页面,而是退出本Activity。重写onKeyDown()方法来解决此问题。
*/
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
处理文本中图片问题无法自适应问题
private String changeImageWidth(String htmlText) { Document document = Jsoup.parse(htmlText); Elements elementImages = document.getElementsByTag("img"); if(elementImages.size() > 0) { for(Element elementImage : elementImages) {// elementImage.attr("style", "width: 100%"); elementImage.attr("max-width", "100%") .attr("height", "auto"); elementImage.attr("style", "max-width:100%;height:auto"); } } return document.toString(); }
kotlin用法
private fun changeImageWidth(url: String): String { var document = Jsoup.parse(url); var elementImages = document.getElementsByTag("img"); if(elementImages.size> 0) { for (element in elementImages){ element.attr("max-width", "100%") .attr("height", "auto"); element.attr("style", "max-width:100%;height:auto"); } } return document.toString();}
网友评论