2011-11-09 28 views
2

私はAndroidアプリを開発するのがとても新しいです。基本的に私は、Webサイトが携帯電話に最適化された異なるURLを表示するためのwebviewテンプレートを作成しています。Android webviewのプログレスバー

アプリには、2つのページ:
スプラッシュページがあります。
1 webviewページ。

私はいくつかのチュートリアルを働いていると、この部分は、実際に働いているので、問題がある...のWebViewはウェブサイトを持っているときに消えウェブサイトをロードしているとき、私はプログレスバーを表示したい

読み込まれました。

私はこれを動作させるために多くの試みを行いましたが、成功することはありません。

XMLファイル:
Link to preeview of java file


は基本的に ID:とのWebViewと ID:progressbar(これはそこにあるべきかどうかわからない)

とプログレスバーJAVAファイルを持っています

答えて

3

ProgressBarをサポートしています。

setContentView(R.layout.layout_file)の前に次の文を追加してください。あなたがここに完全なチュートリアルを参照することができ

//Make the bar disappear after URL is loaded, and changes string to Loading... 
MyActivity.setTitle("Loading..."); 
MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded 

// Return the app name after finish loading 
    if(progress == 100) 
     MyActivity.setTitle(R.string.app_name); 

// Adds Progrss bar Support 
this.getWindow().requestFeature(Window.FEATURE_PROGRESS); 

はその後setContentView(R.layout.layout_file);への呼び出し後に次の行を追加する必要がonProgressChanged(WebView view, int progress)

// Makes Progress bar Visible 
getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 

今プログレスバー表示されるように、この行を追加します。 :ProgressBar in WebView。私はそのウェブサイトからコードを参照しただけです。あなたがあなたの活動に新しいプロパティを追加することによってこれを行うことができ、公式のAndroidドキュメントWebView

+0

たぶん私はちょうど愚かなんだけど、私は本当にこの仕事を得ることができません。 Javaファイルを作成することは可能でしょうか?私がXMLで変更する必要があるものはありますか? – user928615

1

から

編集

もう一つの例:

protected ProgressDialog dialog; 

開こうとしていますウェブでこれを追加:

dialog = ProgressDialog.show(this, "LOADING", "Website is loading...", true); 
YourWebView.loadUrl(url); 

/* Prevent WebView from Opening the Browser */ 
YourWebView.setWebViewClient(new InsideWebViewClient()); 
その後、

そしてWebViewClientクラスを拡張し、onPageFinished方法に追加する必要があります。

protected class InsideWebViewClient extends WebViewClient { 
    @Override 
    public void onPageFinished(WebView view, String url) 
    { 
    super.onPageFinished(view, url); 
    if(dialog != null && dialog.isShowing()) 
     dialog.dismiss(); 
    } 
}