如何为WebView添加进度栏



我是应用程序构建的新手...我尝试在练习应用中添加进度栏或加载屏幕,但我没有成功。

您可以帮助我向我展示如何做以及在代码中添加何处。

tab2.java:

package com.dan.test;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
public class Tab3Fragment extends Fragment {
    private WebView webView;
    private Bundle webViewBundle;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.tab2,
                container, false);
        webView = (WebView) ll.findViewById(R.id.tab2);
        webView.setWebViewClient(new WebViewClient());
   *public void onProgressChanged(WebView view, int progress) {
     // Activities and WebViews measure progress with different scales.
     // The progress meter will automatically disappear when we reach 100%
     activity.setProgress(progress * 1000);
   }*
        if (webViewBundle == null) {
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("https://www.youtube.com/");
        } else {
            webView.restoreState(webViewBundle);
        }
        return ll;
    }
    @Override
    public void onPause() {
        super.onPause();
        webViewBundle = new Bundle();
        webView.saveState(webViewBundle);
    }
}

tab2.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tab2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
*<ProgressBar android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" android:id="@+id/progressBar1"/>*
    <WebView
        android:id="@+id/webView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

预先感谢丹。

这就是我过去一直在使用它的方式。

webview.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress) {
        if (!mProgressDialog.isShowing()) {
            mProgressDialog.show();
        }
        mProgressDialog.setProgress(progress)
        if (progress == 100) {
            mProgressDialog.dismiss();
        }
    }
});

其中mProgressDialogDialog,我正在显示进度。

最新更新