Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android studio Webview上加载网页时添加进度条_Java_Android_Webview - Fatal编程技术网

Java 如何在Android studio Webview上加载网页时添加进度条

Java 如何在Android studio Webview上加载网页时添加进度条,java,android,webview,Java,Android,Webview,嗨,我是这里的新手,也是android开发的新手,我想在webview上加载页面时添加进度条,加载后进度需要自动隐藏,我不知道怎么做,伙计们,帮帮我 activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas

嗨,我是这里的新手,也是android开发的新手,我想在webview上加载页面时添加进度条,加载后进度需要自动隐藏,我不知道怎么做,伙计们,帮帮我

activity_main.xml:

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="0dp"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="0dp"
    tools:context="com.example.tamil.stagingsite.MainActivity">

    <ProgressBar
        android:id="@+id/progressBar"
        style="@android:style/Widget.Material.Light.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <WebView
        android:id="@+id/activity_main_webview"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:animationCache="true"
        android:background="@android:color/white">

    </WebView>
</RelativeLayout>

在onPageStarted方法中显示progressbar,并在OnPageFinished方法中关闭它

mWebView.setWebViewClient(new WebViewClient() {

   @Override
   public void onPageStarted(WebView view, String url, Bitmap facIcon) {
      //showProgressBar();
    }

   @Override
   public void onPageFinished(WebView view, String url) {
     // hideProgressBar();
   }
}

初始化主活动中的进度条,然后

使webviewclient onPageFinished方法中的进度条可见

 mWebView.setWebViewClient(new MyAppWebViewClient(this));


要在Webview上加载页面时添加进度对话框,请添加以下代码,无需在XML中添加进度栏

//Intialize the progress dialog:
  WebView webview;
  ProgressDialog progressDialog;

//Write the following code in OnCreate: 
    webview=(WebView)findViewById(R.id.webview);
    progressDialog=new ProgressDialog(this);
    progressDialog.setMessage("Loading");
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressDialog.show();
加载网页后,您必须关闭ProgressDialog。为此,在OnPageFinish中关闭ProgressDialog

webview.setWebViewClient(new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl("YOUR URL");
            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }
    });

与此相关的许多问题可能重复。。
//Intialize the progress dialog:
  WebView webview;
  ProgressDialog progressDialog;

//Write the following code in OnCreate: 
    webview=(WebView)findViewById(R.id.webview);
    progressDialog=new ProgressDialog(this);
    progressDialog.setMessage("Loading");
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressDialog.show();
webview.setWebViewClient(new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl("YOUR URL");
            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }
    });