2016-09-29 3 views
0

Ich habe eine WebView in Android, die eine bestimmte Website lädt, ich möchte ein Laden Symbol oder Fortschrittsbalken beim Klicken auf einen der Links in der WebView anzeigen.Wie Laden Bild oder Fortschrittsbalken auf WebView zeigen

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

    WebSettings webSettings = webViewClient.getSettings(); 

    webSettings.setJavaScriptEnabled(true); 

    webViewClient.setWebViewClient(new WebViewClient()); 

    webViewClient.loadUrl("URL"); 

Antwort

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

Zuerst müssen Sie herausfinden, wenn der Klick passiert:

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

Dann haben Sie die Progressbar in einem FrameLayout mit WebView setzen.

So, wenn der Klick passiert, können Sie Ihre Fortschrittsleiste in Ihrer Aktivität zeigen.

webView.setWebViewClient(new WebViewClient() { 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
      if (url.equals("your_url"){ 
      progressbar.setVisibility(View.VISIBLE); 
      } 
       return false; 
      } 
     }); 
Verwandte Themen