美文网首页
Android Webview 加载纯文本

Android Webview 加载纯文本

作者: 珍藏的记忆 | 来源:发表于2021-11-03 09:46 被阅读0次

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

相关文章

网友评论

      本文标题:Android Webview 加载纯文本

      本文链接:https://www.haomeiwen.com/subject/bopqzltx.html