android中的webview进度条

  1. import android.app.Activity;  
  2. import android.graphics.Color;  
  3. import android.os.Bundle;  
  4. import android.os.Handler;  
  5. import android.view.Menu;  
  6. import android.view.View;  
  7. import android.webkit.WebChromeClient;  
  8. import android.webkit.WebView;  
  9. import android.webkit.WebViewClient;  
  10. import android.widget.LinearLayout;  
  11. import android.widget.ProgressBar;  
  12. import android.widget.TextView;  
  13.    
  14. public class MainActivity extends Activity {  
  15.         Handler handler;  
  16.         WebView wv;  
  17.         TextView textView;  
  18.         ProgressBar progressBar;  
  19.     @Override  
  20.     public void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22. //        requestWindowFeature(Window.FEATURE_NO_TITLE);  
  23. //                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  
  24. //                                WindowManager.LayoutParams.FLAG_FULLSCREEN);  
  25.                 LinearLayout rootViewLayout = new LinearLayout(this);  
  26.                 rootViewLayout.setOrientation(LinearLayout.VERTICAL);  
  27.                 textView = new TextView(this);  
  28.                 textView.setTextColor(Color.RED);  
  29.                 //生成水平进度条  
  30.                 progressBar = new ProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);  
  31.                 wv = new WebView(this);  
  32.                 rootViewLayout.addView(textView);  
  33.                 rootViewLayout.addView(progressBar);  
  34.                 rootViewLayout.addView(wv);  
  35.         setContentView(rootViewLayout);  
  36.          wv.getSettings().setAllowFileAccess(true);   
  37.          wv.getSettings().setJavaScriptEnabled(true);  
  38.          //这里吐槽一下这J8网站 写你妹的排队,排你大爷  
  39.         wv.loadUrl("http://www.12306.cn");  
  40.         wv.setWebViewClient(new WebViewClient(){  
  41.                         @Override  
  42.                         public void onPageFinished(WebView view, String url) {  
  43.                                 // TODO Auto-generated method stub  
  44.                                 super.onPageFinished(view, url);  
  45.                                 //页面下载完毕,却不代表页面渲染完毕显示出来  
  46.                                 //WebChromeClient中progress==100时也是一样  
  47.                                 if (wv.getContentHeight() != 0) {  
  48.                                         //这个时候网页才显示  
  49.                                 }  
  50.                         }  
  51.                         @Override  
  52.                         public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  53.                                 // TODO Auto-generated method stub  
  54.                                 //自身加载新链接,不做外部跳转  
  55.                                 view.loadUrl(url);  
  56.                                 return true;  
  57.                         }  
  58.                            
  59.         });  
  60.            
  61.         wv.setWebChromeClient(new WebChromeClient(){  
  62.                 @Override  
  63.                 public void onProgressChanged(WebView view, int newProgress) {  
  64.                         // TODO Auto-generated method stub  
  65.                         super.onProgressChanged(view, newProgress);  
  66.                         //这里将textView换成你的progress来设置进度  
  67. //                        if (newProgress == 0) {  
  68. //                                        textView.setVisibility(View.VISIBLE);  
  69. //                                        progressBar.setVisibility(View.VISIBLE);  
  70. //                                }  
  71.                         textView.setText(newProgress+"");  
  72.                         textView.postInvalidate();  
  73.                         progressBar.setProgress(newProgress);  
  74.                         progressBar.postInvalidate();  
  75. //                        if (newProgress == 100) {  
  76. //                                        textView.setVisibility(View.GONE);  
  77. //                                        progressBar.setVisibility(View.GONE);  
  78. //                                }  
  79.                 }  
  80.         });  
  81.     }  
  82.    
  83.     @Override  
  84.     public boolean onCreateOptionsMenu(Menu menu) {  
  85.         getMenuInflater().inflate(R.menu.activity_main, menu);  
  86.         return true;  
  87.     }  
  88. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值