在Android开发当中,进行网络访问加载一个网页的时候就需要用到一个WebView来进行显示,这样可以使得我们的App更为灵活。今天来介绍一下Android中WebView的几种用法。
基本用法
1.WebView带加载进度条显示:
mProgressBar.setMax(100);
mWebView.getSettings().setJavaScriptEnabled(true);
// 设置WebViewClient用来接收不同的通知和请求
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return false;
}
//在开始加载的方法中显示进度条
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
mProgressBar.setVisibility(View.VISIBLE);
}
//在结束加载的方法中设置进度条不可见
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
mProgressBar.setVisibility(View.INVISIBLE);
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
//得到加载进度,newProgress为100表示加载完成
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
super.onProgressChanged(view, newProgress);
mProgressBar.setProgress(newProgress);
}
});
mWebView.loadUrl("http://m.baidu.com");
2.拦截加载错误信息:
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});