webview各种点,放大,进度

1 篇文章 0 订阅
1 篇文章 0 订阅

 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);
  }
 };

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值