当前位置: 移动技术网 > 移动技术>移动开发>Android > Android webview使用方法总结

Android webview使用方法总结

2019年07月24日  | 移动技术网移动技术  | 我要评论

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,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网