Android?加載純文本的方法
引入包依賴包
maven { url "https://jsoup.org/" }?
" api 'org.jsoup:jsoup:1.12.1'"?
webView.getSettings().setJavaScriptEnabled(true);
//loadDataWithBaseURL加載數(shù)據(jù)的方法? changeImageWidth是寫的方法
richtext=content;//文本內(nèi)容
webView.loadDataWithBaseURL(null, changeImageWidth(richtext), "text/html", "utf-8", null);
webView.setHorizontalScrollBarEnabled(false); //隱藏水平滾動條
webView.setVerticalScrollBarEnabled(false); //隱藏豎直滾動條
/*
WebView默認用系統(tǒng)自帶瀏覽器處理頁面跳轉(zhuǎn)。
為了讓頁面跳轉(zhuǎn)在當前WebView中進行一也,重寫WebViewClient。
但是按BACK鍵時页徐,不會返回跳轉(zhuǎn)前的頁面浑测,而是退出本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();}