public void initViewsValue() {
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setBuiltInZoomControls(true);//手势,放大控件
如果用到webview自身的setBuiltInZoomControls(true)来启用缩放的话
屏幕右下角会有一个非常讨厌的zoom控制条。只有到API Level 11才会有
setDisplayZoomControls (boolean enabled)用来控制是否显示zoom条。
setZoomControlGone(webview);//屏蔽放大控件
//加载需要显示的网页
webview.loadUrl(url);
webview.setWebViewClient(new HelloWebViewClient ());
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onReceivedTitle(WebView view, String title) {//获取页面标题
// TODO Auto-generated method stub
showName.setText(title);
super.onReceivedTitle(view, title);
}
public void onProgressChanged(WebView view, int progress) { //进度条
pb.setProgress(progress);
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack(); //goBack()表示返回WebView的上一页面
return true;
}
else if((keyCode == KeyEvent.KEYCODE_BACK) && !webview.canGoBack())
{
this.finish();
return true;
}
return false;
}
private class HelloWebViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) { //加载完,我做了延迟2秒效果
// TODO Auto-generated method stub
mNotificationHandler.sendEmptyMessageDelayed(0, 2000);
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
public boolean shouldOverrideUrlLoading(WebView view,final String url){ //点击联接,显示进度,如果是类似.apk文件就去外部下载
pb.setVisibility(view.VISIBLE);
if(url.indexOf(".apk")>0)
{
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
ACT_Crop_App_View.this);
alertDialog.setTitle("应用提示").setIcon(R.drawable.ic_question)
.setMessage("是否去外部浏览器安装")
.setPositiveButton("是",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Intent intent_install=new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
//cropApplication.get(position).install_url
startActivity(intent_install);
}
}).setNegativeButton("否",
new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
return;
}
}).create();
alertDialog.show();
}
view.loadUrl(url);
return true;
}
}
private Handler mNotificationHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
pb.setVisibility(View.GONE);
}
};