Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to show progress bar on webview?

Tags:

android

I am trying to open a webpage in my application using WebView. When I open webpage it shows me blank screen for a while and then open that page in browser inside my application.

Anyone suggest me how to show progress or get rid of that blank screen which comes during loading of webview?

I am using following code:

WebView mWebView = (WebView) findViewById(R.id.mywebview); mWebView.getSettings().setJavaScriptEnabled(true);  // error handling final Activity activity = this;  mWebView.setWebViewClient(new WebViewClient() {     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {         Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();     } });  // error  handling  mWebView.loadUrl(URL); mWebView.setWebViewClient(new HelloWebViewClient()); 
like image 293
UMAR-MOBITSOLUTIONS Avatar asked Oct 11 '10 06:10

UMAR-MOBITSOLUTIONS


People also ask

How do I make my progress bar horizontal Android?

In Android, by default a progress bar will be displayed as a spinning wheel but If we want it to be displayed as a horizontal bar then we need to use style attribute as horizontal. It mainly use the “android. widget. ProgressBar” class.


2 Answers

Try this:

getWindow().requestFeature(Window.FEATURE_PROGRESS);  WebView mWebView = (WebView) findViewById(R.id.mywebview);  mWebView.getSettings().setJavaScriptEnabled(true);  final Activity activity = this;  mWebView.setWebChromeClient(new WebChromeClient(){           public void onProgressChanged(WebView view, int progress) {                  activity.setTitle("Loading...");                  activity.setProgress(progress * 100);                     if(progress == 100)                        activity.setTitle("My title");                  } });  mWebView.loadUrl(URL); 
like image 111
Wroclai Avatar answered Sep 22 '22 16:09

Wroclai


Here is the code that I am using:

Inside WebViewClient:

webView.setWebViewClient(new WebViewClient() {      @Override     public void onPageStarted(WebView view, String url, Bitmap favicon) {         super.onPageStarted(view, url, favicon);         findViewById(R.id.progress1).setVisibility(View.VISIBLE);     }      @Override     public void onPageFinished(WebView view, String url) {         super.onPageFinished(view, url);         findViewById(R.id.progress1).setVisibility(View.GONE);     }  }); 

Here is the XML :

<ProgressBar     android:id="@+id/progress1"     android:layout_centerHorizontal="true"     android:layout_centerVertical="true"     android:layout_width="wrap_content"     android:layout_height="wrap_content" /> 

Hope this helps..

like image 37
nijas Avatar answered Sep 25 '22 16:09

nijas