webview=(WebView) findViewById(R.id.WebView); //获取控件id
webview.loadUrl("http://www.baidu.com"); //设置访问地址
webview.setWebViewClient(new WebViewClient(){ //设置打开方式//webviedclient是帮助WebView去处理一些页面控制和请求通知
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
//返回值为TRUE是在webview中打开,false是调用第三方浏览器打开
//return super.shouldOverrideUrlLoading(view, url);
view.loadUrl(url);
return true;
}
});
WebSettings websettings=webview.getSettings(); //启用支持javascript
websettings.setJavaScriptEnabled(true);
websettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //设置加载页面优先使用缓存加载
webview.setWebChromeClient(new WebChromeClient(){ //设置加载进度条
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
//newProgress 1-100
//super.onProgressChanged(view, newProgress);
if(newProgress==100)
{
closeDialog();
}
else
{
openDialog(newProgress);
}
}
});
}
protected void closeDialog() { //进度到达100,ProgressDialog关闭函数
if(dialog!=null&&dialog.isShowing())
{
dialog.dismiss();
dialog=null;
}
}
protected void openDialog(int newProgress) { //进度未到100,ProgressDialog正在运行 对话框标题为正在加载
if(dialog==null)
{
dialog=new ProgressDialog(MainActivity.this);
dialog.setTitle("正在加载");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置对话框样式
dialog.show();
}
else
{
dialog.setProgress(newProgress);
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) { //设置页面后退
if(keyCode==KeyEvent.KEYCODE_BACK) //接收到的消息如果是返回
{
Toast.makeText(this, webview.getUrl(), Toast.LENGTH_SHORT).show();
if(webview.canGoBack())
{
webview.goBack();
return true;
}
else
{
System.exit(0);
}
}
return super.onKeyDown(keyCode, event);
}