随笔- 256  评论- 125  文章- 0 

android webview 全屏100%显示图片

这里引用 第三方类库 

implementation 'org.jsoup:jsoup:1.10.2'

定义工具类 HtmlUtils
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

 
public class HtmlUtils {
    /**
     * 将html文本内容中包含img标签的图片,宽度变为屏幕宽度,高度根据宽度比例自适应
     **/
    public static String getNewContent(String htmltext){
        try {
            Document doc= Jsoup.parse(htmltext);
            Elements elements=doc.getElementsByTag("img");
            for (Element element : elements) {
                element.attr("width","100%").attr("height","auto");
            }

            return doc.toString();
        } catch (Exception e) {
            return htmltext;
        }
    }
}
View Code

使用方法

 if(!TextUtils.isEmpty(mCourseDetailRes.getVideo_intro())) {
                   mWebView.setVisibility(View.VISIBLE);
                   WebSettings webSettings = mWebView.getSettings();
                   // 启用JS
                   webSettings.setJavaScriptEnabled(true);
                   webSettings.setUseWideViewPort(true);
                   webSettings.setLoadWithOverviewMode(true);
                   webSettings.setBuiltInZoomControls(false);//开启zoom
                   webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
                   webSettings.setDisplayZoomControls(false);
                   mWebView.setWebViewClient(new WebViewClient());
                   String html=HtmlUtils.getNewContent(mCourseDetailRes.getVideo_intro());
                   mWebView.loadData(html+ "", "text/html", "UTF-8");
               }
View Code

 注意 webview loadData 显示中文乱码,加上charset=UTF-8


mWebView.loadData(html + "", "text/html; charset=UTF-8", "UTF-8");
字体放大功能
webSettings.setTextZoom(220);//字体大小
posted on 2019-06-05 14:17  freexiaoyu  阅读(...)  评论(...编辑  收藏