WebView的基本属性配置 http://blog.csdn.net/u014772832/article/details/49341523
WebView各种属性详解 http://blog.csdn.net/cgq1030699125/article/details/52637774
// 在自己的app中加载网址
finalWebSettings settings =mWebView.getSettings();
/* 设置支持Js,必须设置的,不然网页基本上不能看 */
mWebView.getSettings().setJavaScriptEnabled(true);
/* 设置缓存模式,我这里使用的默认,不做多讲解 */
mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
/* 设置为true表示支持使用js打开新的窗口 */
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
/* 大部分网页需要自己保存一些数据,这个时候就的设置下面这个属性 */
mWebView.getSettings().setDomStorageEnabled(true);
/* 设置为使用webview推荐的窗口 */
mWebView.getSettings().setUseWideViewPort(true);
/* 设置网页自适应屏幕大小 ---这个属性应该是跟上面一个属性一起用 */
mWebView.getSettings().setLoadWithOverviewMode(true);
/* HTML5的地理位置服务,设置为true,启用地理定位 */
mWebView.getSettings().setGeolocationEnabled(true);
/* 设置是否允许webview使用缩放的功能,我这里设为false,不允许 */
mWebView.getSettings().setBuiltInZoomControls(false);
/* 提高网页渲染的优先级 */
mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
/* 设置显示水平滚动条,就是网页右边的滚动条.我这里设置的不显示 */
mWebView.setHorizontalScrollBarEnabled(false);
/* 指定垂直滚动条是否有叠加样式 */
mWebView.setVerticalScrollbarOverlay(true);
/* 设置滚动条的样式 */
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
/* 这个不用说了,重写WebChromeClient监听网页加载的进度,从而实现进度条 */
mWebView.setWebChromeClient(newWebChromeClient());
/* 同上,重写WebViewClient可以监听网页的跳转和资源加载等等... */
mWebView.setWebViewClient(newWebViewClient());
补充 :1. shouldOverrideUrlLoading表示当前webView中的一个新url需要加载时,给当前应用程序一个处理机会,如果没有重写此函数,webView请求ActivityManage选择合适的方式处理请求,就像弹出uc和互联网让用户选择浏览器一样。重写后return true表示让当前程序处理,return false表示让当前webView处理
2. 在 onPageFinished方法里添加一个加载转圈的方法,可以起到一个过度白屏的问题,当webview 加载H5页面完毕,转圈自动消失
3.下面代码主要是解释如何引用封装好的转圈显示的代码
webFrameLayout= (FrameLayout) findViewById(R.id.webFrameLayout);
mLoadManager=newLoadManager(webFrameLayout);
mWebView=newWebView(getApplicationContext());
webFrameLayout.addView(mWebView,0);
成功时在onPageFinished方法里添加 mLoadManager.showPageSafe(LoadManager.STATE_SUCCESS);
其它状态一一对应就行 :mLoadManager.showPageSafe(LoadManager.STATE_EMPTY);
mLoadManager.showPageSafe(LoadManager.STATE_ERROR);
要想进一步理解得去看LoadManager 类的 代码
下面是webview 与js 交互的相关链接
http://www.jb51.net/article/84957.htm
http://www.cnblogs.com/fx2008/p/5809620.html webview与js交互的demo 成功验证过得
http://blog.csdn.net/goo_x/article/details/50823523 Android WebView - 全面总结(概述、捕获url、js交互、小技巧、内存泄漏、缓存机制)
https://www.zhihu.com/question/31316646 Android WebView 在开发过程中有哪些坑?
https://tech.meituan.com/WebViewPerf.html WebView性能、体验分析与优化