android开发:WebView基本使用

       最近闲 了下来,决定对自己以前所学的用到的东西做个整理,以前总是用到一些东西,只是去查,去记录到自己的云笔记中。时间久了, 下次碰到了依然记不太清楚,如此反复。这段时间用WebView比较多,就先从它说起吧!

现在app都内置Web网页,大的电商(淘宝,京东等),主要是用到的就是android的WebView组件,那就来介绍它的具体使用吧。

1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:

mWebView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

           view.loadUrl(url);

           return true;

          }

});

2. 通过java代码调用javascript

WebSettings webSettings =mWebView .getSettings();

webSettings.setJavaScriptEnabled(true);

mWebView.addJavascriptInterface(newObject() {publicvoidclickOnAndroid() {

mHandler.post(newRunnable() {publicvoidrun() {

webview.loadUrl("javascript:call()");

}

});

}

},"test");

3. 按返回键时, 不退出程序而是返回上一浏览页面

publicbooleanonKeyDown(intkeyCode, KeyEvent event) {if((keyCode == KeyEvent.KEYCODE_BACK) &&mWebView.canGoBack()) {

           mWebView.goBack();returntrue;

}

     returnsuper.onKeyDown(keyCode, event);

}

4.WebSetting的常用设置

WebSettings webSettings =mWebView .getSettings();

webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放webSettings.setLoadWithOverviewMode(true);

setJavaScriptEnabled(true);//支持js

setPluginsEnabled(true);//支持插件

setUseWideViewPort(false);//将图片调整到适合webview的大小

setSupportZoom(true);//支持缩放

setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//支持内容重新布局

supportMultipleWindows();//多窗口

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//关闭webview中缓存

setAllowFileAccess(true);//设置可以访问文件

setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点

webview webSettings.setBuiltInZoomControls(true);//设置支持缩放

setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口

setLoadWithOverviewMode(true); // 缩放至屏幕的大小

setLoadsImagesAutomatically(true);//支持自动加载图片

遇到一些坑和注意事项:

1.退出WebView,仍然有声音播放

解决办法,在activity 的ondestory方法中先让 WebView 加载null内容,然后移除,销毁webview

2.混淆代码后,调用js代码没反应

解决办法:混淆配置文件中keep如下

-keepattributes *Annotation*

-keepattributes *JavascriptInterface*

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这些都是曾经收集到的一些关于Webview的知识,有些工作中用到了,有些暂时还没有用到,这次统一整理下,希望对自己...
    乆丩乣阅读 14,095评论 14 101
  • 一、WebView 谷歌提供的系统组件,用来加载和展现html网页,其采用webkit内核驱动,来实现网页浏览功能...
    闲庭阅读 11,919评论 2 12
  • 参考 WebView在现在的项目中使用的频率应该还是非常高的。 WebSettingsWebSettings we...
    苏未_阅读 10,534评论 2 8
  • 对于使用webview加载一个网页,使用它的loadurl()方法即可,如果在程序内要打开网页,难么就要自己创建一...
    2c2z0阅读 8,692评论 0 0
  • 八十四岁的老父亲,年轻时曾是航空研究院毕业的设计师,是个标准的理工男,你看他回应女儿关于夫妻吵架的理论——“在爱情...
    胡妙妙阅读 2,593评论 0 0

友情链接更多精彩内容