android 中WebView进度条载入

import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MainActivity extends Activity {
        Handler handler;
        WebView wv;
        TextView textView;
        ProgressBar progressBar;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
//                                WindowManager.LayoutParams.FLAG_FULLSCREEN);
                LinearLayout rootViewLayout = new LinearLayout(this);
                rootViewLayout.setOrientation(LinearLayout.VERTICAL);
                textView = new TextView(this);
                textView.setTextColor(Color.RED);
                //生成水平进度条
                progressBar = new ProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);
                wv = new WebView(this);
                rootViewLayout.addView(textView);
                rootViewLayout.addView(progressBar);
                rootViewLayout.addView(wv);
        setContentView(rootViewLayout);
         wv.getSettings().setAllowFileAccess(true); 
         wv.getSettings().setJavaScriptEnabled(true);
       
        wv.loadUrl("http://www.12306.cn");
        wv.setWebViewClient(new WebViewClient(){
                        @Override
                        public void onPageFinished(WebView view, String url) {
                                // TODO Auto-generated method stub
                                super.onPageFinished(view, url);
                                //页面下载完毕,却不代表页面渲染完毕显示出来
                                //WebChromeClient中progress==100时也是一样
                                if (wv.getContentHeight() != 0) {
                                        //这个时候网页才显示
                                }
                        }
                        @Override
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                                // TODO Auto-generated method stub
                                //自身加载新链接,不做外部跳转
                                view.loadUrl(url);
                                return true;
                        }
                         
        });
         
        wv.setWebChromeClient(new WebChromeClient(){
                @Override
                public void onProgressChanged(WebView view, int newProgress) {
                        // TODO Auto-generated method stub
                        super.onProgressChanged(view, newProgress);
                        //这里将textView换成你的progress来设置进度
//                        if (newProgress == 0) {
//                                        textView.setVisibility(View.VISIBLE);
//                                        progressBar.setVisibility(View.VISIBLE);
//                                }
                        textView.setText(newProgress+"");
                        textView.postInvalidate();
                        progressBar.setProgress(newProgress);
                        progressBar.postInvalidate();
//                        if (newProgress == 100) {
//                                        textView.setVisibility(View.GONE);
//                                        progressBar.setVisibility(View.GONE);
//                                }
                }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}



转子:http://www.eoeandroid.com/thread-248551-1-1.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值