这里引用 第三方类库
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; } } }
使用方法
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"); }
注意 webview loadData 显示中文乱码,加上charset=UTF-8
mWebView.loadData(html + "", "text/html; charset=UTF-8", "UTF-8");
字体放大功能
webSettings.setTextZoom(220);//字体大小