2016-09-29 3 views
0

У меня есть webView в Android, который загружает определенный сайт, я хочу отображать значок загрузки или индикатор выполнения при нажатии любой из ссылок внутри webView.Как показать загружаемое изображение или индикатор выполнения на WebView

webViewClient = (WebView) findViewById(R.id.contentContainer); 

    WebSettings webSettings = webViewClient.getSettings(); 

    webSettings.setJavaScriptEnabled(true); 

    webViewClient.setWebViewClient(new WebViewClient()); 

    webViewClient.loadUrl("URL"); 

ответ

1
public class CustomWebViewClient extends WebViewClient { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      showProgressBar(); 
     } 

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


    webViewClient.setWebViewClient(new CustomWebViewClient()); 
0
webViewClient = (WebView) findViewById(R.id.contentContainer); 

    WebSettings webSettings = webViewClient.getSettings(); 

    webSettings.setJavaScriptEnabled(true); 

    webViewClient.setWebViewClient(new WebViewClient(){ 

    public void onProgressChanged(WebView view, int progress) { 
      activity.setTitle("Loading..."); 
      activity.setProgress(progress * 100); 
       if(progress == 100) 
        activity.setTitle("Your Title"); 
      }); 

    webViewClient.loadUrl("URL"); 

Following Link May help you as well : http://www.firstdroid.com/2010/08/04/adding-progress-bar-on-webview-android-tutorials/ 
0

Во-первых, вы должны выяснить, когда происходит щелчок:

webView.setWebViewClient(new WebViewClient() { 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
       webView.loadUrl(url); 
       // Here the String url hold 'Clicked URL' 
       return false; 
      } 
     }); 

Затем вы должны поставить Progressbar в FrameLayout с WebView.

<FrameLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<Progressbar 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

<WebView 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

</FrameLayout> 

Итак, когда щелчок происходит, вы можете показать свою панель прогресса в своей деятельности.

webView.setWebViewClient(new WebViewClient() { 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
      if (url.equals("your_url"){ 
      progressbar.setVisibility(View.VISIBLE); 
      } 
       return false; 
      } 
     }); 
Смежные вопросы