使用WebView加载网页并带有进度条

   WebView是加载网页的控件,在使用WebView加载网页的同时,可以显示进度条,现在就来介绍一下。

   一.在布局中添加ProgressBar控件和WebView控件

< ProgressBar
    android :id= "@+id/progress_bar"
    style= "?android:attr/progressBarStyleHorizontal"
    android :visibility= "gone"
    android :layout_width= "match_parent"
    android :layout_height= "10dp" />

< WebView
    android :layout_weight= "9"
    android :id= "@+id/web_view"
    android :layout_width= "match_parent"
    android:layout_height="0dp">WebView>

 二.在java代码中实现
private ProgressBar progressBar;

Intent intent = getIntent();
url = intent.getStringExtra( "url");
//加载某个指定网址
webView.loadUrl( url);
//禁止跳转到第三方浏览器
webView.setWebViewClient( new WebViewClient());
//允许JS互调。可以使用网页上的功能代码了
webView.getSettings().setJavaScriptEnabled( true);
//可以设置进度条和页面进度
webView.setWebChromeClient( new WebChromeClient(){
    @Override
    public void onProgressChanged(WebView view,  int newProgress) {
        if(newProgress== 100){
            progressBar.setVisibility(View. GONE);
        } else {
            progressBar.setVisibility(View. VISIBLE);
            progressBar.setProgress(newProgress);
        }
        super.onProgressChanged(view, newProgress);
    }
});

 最后不要忘记在清单文件中添加网络权限
<uses-permission android:name="android.permission.INTERNET">uses-permission>


你可能感兴趣的:(学习交流)