WebView总结
1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);3、设置WebView基本信息: //如果访问的页面中有Javascript,则webview必须设置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); //触摸焦点起作用 requestFocus(); //取消滚动条 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);4、设置WevView要显示的网页: 互联网用:webView.loadUrl(" 本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets文件中5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。 给WebView添加一个事件监听对象(WebViewClient) 并重写其中的一些方法 shouldOverrideUrlLoading:对网页中超链接按钮的响应。 //当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest// 添加网页加载回调webview.setWebViewClient(new WebViewClient() { // 网页内页面跳转还在webview中,不打开系统浏览器 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } // 页面开始打开 @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); progressBar.setVisibility(android.view.View.VISIBLE); //Toast.makeText(GuideActivity.this, "onPageStarted", 1000).show(); } // 页面打开完成 @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); progressBar.setVisibility(android.view.View.GONE); //Toast.makeText(GuideActivity.this, "onPageFinished", 1000).show(); } // 页面打开出错 @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); progressBar.setVisibility(android.view.View.GONE); Toast.makeText(GuideActivity.this, "网络错误", 1000).show(); } });
public boolean onKeyDown(int keyCoder,KeyEvent event){ if(webview.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){ webview.goBack(); //goBack()表示返回webView的上一页面 return true; } return false;}