Android webview使用方法总结
程序员文章站
2022-04-13 22:46:17
android webview使用方法总结
&nb...
android webview使用方法总结
这里对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(new object() { public void clickonandroid() { mhandler.post(new runnable() { public void run() { webview.loadurl("javascript:wave()"); } }); } }, "demo");
3. 按返回键时, 不退出程序而是返回上一浏览页面:
public boolean onkeydown(int keycode, keyevent event) { if ((keycode == keyevent.keycode_back) && mwebview.cangoback()) { mwebview.goback(); return true; } return super.onkeydown(keycode, event); }
4. 打开页面时, 自适应屏幕:
websettings websettings = mwebview .getsettings(); websettings.setusewideviewport(true);//设置此属性,可任意比例缩放 websettings.setloadwithoverviewmode(true);
5. 便页面支持缩放:
websettings websettings = mwebview .getsettings(); websettings.setjavascriptenabled(true); websettings.setbuiltinzoomcontrols(true); websettings.setsupportzoom(true);
6.如果webview中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。
webview.requestfocusfromtouch();
7.webview 加载界面主要调用三个方法:loadurl、loaddata、loaddatawithbaseurl.
1、loadurl 直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif) 2、loaddata 显示文字与图片内容 (模拟器1.5、1.6) 3、loaddatawithbase 显示文字与图片内容(支持多个模拟器版本)
8.websettings 的常用方法介绍
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); //支持自动加载图片
9.webviewclient 的方法全解
doupdatevisitedhistory(webview view, string url, boolean isreload) //(更新历史记录) onformresubmission(webview view, message dontresend, message resend) //(应用程序重新请求网页数据) onloadresource(webview view, string url) // 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。 onpagestarted(webview view, string url, bitmap favicon) //这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告诉用户程序在等待网络响应。 onpagefinished(webview view, string url) //在页面加载结束时调用。同样道理,我们知道一个页面载入完成,于是我们可以关闭loading 条,切换程序动作。 onreceivederror(webview view, int errorcode, string description, string failingurl)// (报告错误信息) onreceivedhttpauthrequest(webview view, httpauthhandler handler, string host,string realm)//(获取返回信息授权请求) onreceivedsslerror(webview view, sslerrorhandler handler, sslerror error) //重写此方法可以让webview处理https请求。 onscalechanged(webview view, float oldscale, float newscale) // (webview发生改变时调用) onunhandledkeyevent(webview view, keyevent event) //(key事件未被加载时调用) shouldoverridekeyevent(webview view, keyevent event)//重写此方法才能够处理在浏览器中的按键事件。 shouldoverrideurlloading(webview view, string url) //在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的url,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!