博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android WebView的使用
阅读量:7100 次
发布时间:2019-06-28

本文共 2369 字,大约阅读时间需要 7 分钟。

hot3.png

WebView webView = (WebView) findViewById(R.id.webwiew_info);Pattern p = Pattern.compile("
]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");Matcher m = p.matcher(data);while(m.find()){String img = "
"; data = data.replaceAll(m.group(), img); Log.w("img = ",m.group() + "-------------↓↓↓↓↓↓"); }private void initWebView(String data) { mHandler = new Handler(); webViewSetting(); webView.loadDataWithBaseURL("", data, "text/html", "UTF-8", ""); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } }); } private void webViewSetting() { WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); //自适应屏幕 webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webSettings.setUseWideViewPort(true);// 设置此属性,可任意比例缩放 webSettings.setSupportZoom(true);// 支持缩放 webSettings.setLoadWithOverviewMode(true); webSettings.setBuiltInZoomControls(true); webSettings.setDefaultFontSize(18);// DocumentsContract.Document doc_Dis = Jsoup.parse(htmlContent);// Elements ele_Img = doc_Dis.getElementsByTag("img");// if (ele_Img.size() != 0){// for (Element e_Img : ele_Img) {// e_Img.attr("style", "width:100%");// }// }// String newHtmlContent=doc_Dis.toString();// webView.loadDataWithBaseURL("", newHtmlContent, "text/html", "UTF-8", ""); } // 改写物理按键——返回的逻辑 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (webView.canGoBack()) { webView.goBack();// 返回上一页面 Log.e("onKeyDown", "onKeyDown111111"); return true; } else { Log.e("onKeyDown", "onKeyDown000000"); // System.exit(0);// 退出程序 GraphicInfoActivity.this.finish(); GraphicInfoActivity.this.onDestroy(); } } return super.onKeyDown(keyCode, event); }

 

转载于:https://my.oschina.net/u/2320057/blog/826476

你可能感兴趣的文章
【Spark Summit East 2017】使用Spark横向扩展关系型数据库
查看>>
远程桌面RemoteDesktopManager使用教程
查看>>
根据输入的byte单位计算出最简洁的表示数据
查看>>
Android SDK更新失败及其解决办法
查看>>
深一层看依赖注入
查看>>
linux 禁止指定ip访问
查看>>
【原创】erlang 模块之 os
查看>>
Http Session和Cookie
查看>>
层次分析法
查看>>
使用Hive处理服务器日志
查看>>
一道面试题: 预处理器标识#error的目的是什么?
查看>>
工厂设计模式 Factory
查看>>
抛弃NVelocity,来玩玩Razor
查看>>
Silverlight 5 RC新特性探索系列:13.Silverlight 5 RC 新增对并行任务库(TPL)的支持
查看>>
Java线程池架构(二)多线程调度器
查看>>
多线程执行顺序诡异现象谈,你不知道的pthread_create
查看>>
【shell 脚本】算术测试需要使用(( ))
查看>>
【项目总结】自然语言处理在现实生活中运用
查看>>
原子循环计数器
查看>>
十四个方法提高博客的页面访问量
查看>>