1.
String htmlContent = StringEscapeUtils.unescapejava(data);// String m = "src=";// htmlContent = htmlContent.replaceAll(m, "src=/"" + Constants.IMAGE_URL);Document doc = Jsoup.parse(htmlContent);Elements elem_img = doc.getElementsByTag("img");// 图片自适应屏幕if (elem_img.size() != 0) {for (Element el_img : elem_img) {el_img.attr("style", "width:100%");}}htmlContent = doc.toString();webview.loadData(htmlContent, "text/html; charset=UTF-8", null);webview.getSettings().setDefaultTextEncodingName("UTF-8");// 设置默认为utf-8 2.String html = response.getContent();if (html.contains("src=/"/public")){ html = html.replace("src=/"/public", "src="+"/""+Config.WEB_HOST+"/""+"+/"/public");}showWebView(html);PRivate void showWebView(String html){ // 设置WevView要显示的网页 webviewArticleContent.getSettings().setJavaScriptEnabled(true);//设置支持Javascript webviewArticleContent.getSettings().setBlockNetworkImage(false); webviewArticleContent.requestFocus();//触摸焦点起作用.如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。 webviewArticleContent.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){ webviewArticleContent.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } // luntanListview.getSettings().setBuiltInZoomControls(true); //页面添加缩放按钮 // luntanListview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); //取消滚动条 // 点击链接由自己处理,而不是新开Android的系统browser响应该链接。 webviewArticleContent.setWebViewClient(new WebViewClient(){ @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){ //注意:super句话一定要删除,或者注释掉,否则又走handler.cancel()默认的不支持https的了。 //super.onReceivedSslError(view, handler, error); //handler.cancel(); // Android默认的处理方式 //handler.handleMessage(Message msg); // 进行其他处理 handler.proceed(); // 接受所有网站的证书 } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); String CSS_STYPE = "<head><style>img{max-width:100% !important;} table{max-width:100% !important;}</style></head>"; webviewArticleContent.loadDataWithBaseURL(null, CSS_STYPE + html, "text/html", "utf-8", null); // luntanListview.setOnFocusChangeListener(new View.OnFocusChangeListener() { // @Override // public void onFocusChange(View v, boolean hasFocus) { // if (hasFocus) { // try { // // 禁止网页上的缩放 // Field defaultScale = WebView.class // .getDeclaredField("mDefaultScale"); // defaultScale.setaccessible(true); // defaultScale.setFloat(luntanListview, 1.0f); // } catch (SecurityException e) { // e.printStackTrace(); // } catch (IllegalArgumentException e) { // e.printStackTrace(); // } catch (IllegalAccessException e) { // e.printStackTrace(); // } catch (NoSuchFieldException e) { // e.printStackTrace(); // } // } // } // });}
新闻热点
疑难解答