Show activity circle before loading webview - Android

社会主义新天地 提交于 2019-12-05 14:44:25

Display progressBar in onPageStarted method and dismiss it in onPageFinished.

    private ProgressDialog progressBar;
  1. Show progressBar in onPageStarted:

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    
         // prepare for a progress bar dialog
            progressBar = new ProgressDialog(v.getContext());
            progressBar.setCancelable(true);
            progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);            
            progressBar.show();
    }
    

2.Dismiss it in onPageFinished:

    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);

        progressBar.dismiss();
    }

EDIT : Use ProgressBar instead of ProgressDialog.

  1. Use Following code in your layout. Use drawable of your choice for "@drawable/progress"

     <ProgressBar
        android:id="@+id/progress_bar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:visibility="gone"
        android:indeterminateDrawable="@drawable/progress" >
    </ProgressBar>
    
  2. Inflate it in your activity. Make it visible in onPageStarted and gone in onPageFinished.

    private ProgressBar prgrsBar;
    
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    
        prgrsBar.setVisibility(View.VISIBLE);
    }
    
     @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);
    
        prgrsBar.setVisibility(View.GONE);
    }
    
Force

This works for me: ProgressDialog pb = null;

        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);

            // prepare for a progress bar dialog
            if (pb == null) {
                pb = new ProgressDialog(Quiz.this);
                pb.setCancelable(true);
                pb.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                pb.show();
            }
        }

        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);

            pb.dismiss();
        }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!