美文网首页
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