This is a simple example showing how to load a webpage and show a progressBar while the page is loading in android.
For that you have to set a chrome client for the webview which implements “onProgressChanged”
Here is the layout file.
<? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "fill_parent" android:layout_height = "fill_parent" > < WebView android:id = "@+id/webview" android:layout_width = "fill_parent" android:layout_height = "fill_parent" > </ WebView > </ LinearLayout > |
Here is the java file
package pack.coderzheaven; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.webkit.WebChromeClient; import android.webkit.WebView; public class LoadingWebViewDemo extends Activity { WebView webview; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); this .getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main ); // Makes Progress bar Visible getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); webview = (WebView) findViewById( R.id.webview ); webview.getSettings().setJavaScriptEnabled( true ); webview.getSettings().setSupportZoom( true ); //Zoom Control on web webview.getSettings().setBuiltInZoomControls( true ); //Enable Multitouch if supported by ROM // Load URL webview.loadUrl( "http://www.google.com" ); // This makes the Progress bar be updated. final Activity MyActivity = this ; webview.setWebChromeClient( new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { MyActivity.setTitle( "Loading..." ); MyActivity.setProgress(progress * 100 ); // Return the app name after finish loading if (progress == 100 ) MyActivity.setTitle(R.string.app_name); } }); } } |