WebView快速上手
使用方式1. 通过构造方法 创建一个web容器
web = new WebView(this);
setContentView(web);
使用方式2.正常加载布局, 在布局文件中加入webview节点
setContentView(R.layout.activity_main);
web = (WebView) findViewById(R.id.act_main_web);
#### 常用方法 ####
web.getSettings(): webview系统设置
//支持js
web.getSettings().setJavaScriptEnabled(true);
打开一个网页
web.loadUrl("http://www.baidu.com/");
打开一个本地html文件
web.loadUrl("file:///android_asset/index.html");
//监听webview的变化以及用户操作
web.setWebViewClient(new WebViewClient() {
/**
* 当一个url 被触发
*/
@Override
public boolean shouldOverrideUrlLoading(WebView view, final String url)
// 页面开始加载
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
// 页面加载结束
@Override
public void onPageFinished(WebView view, String url)
// 页面加载失败
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
})
拦截Back键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
//判断如果webview存在 且有上一级界面
if(web!=null && web.canGoBack()){
//回退上一个界面 并消耗掉这次back键
web.goBack();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
// @Override
// public void onBackPressed() {
//也可以在这里做back监听
// // TODO Auto-generated method stub
// super.onBackPressed();
// }