2011-07-11 2 views
2

私のアンドロイドアプリでwebviewを使っています...毎回私のページが空白で、しばらくするとURLの内容が表示されます...この移行時間中にwebviewに読み込み中の画像を追加するにはどうすればいいですか? ?私はオープンを2回呼び出すようにしました。初めてローカルコンテンツをロードし、次回は実際のURLを送りたいと思っていましたが、うまくいきませんでした。事前にloading imageをwebviewに追加するには?

感謝^^

よろしく

答えて

2

は、ここで私はそれをやっている方法です。

私の主なレイアウトには、WebViewとImageViewのスポットがあります。 WebViewは「消えて」から開始し、読み込み画像は「可視」です。

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <ImageView android:id="@+id/imageLoading1" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:visibility="visible" 
     android:src="@drawable/loadingimage" 
     /> 
    <WebView android:id="@+id/webView1" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:visibility="gone" 
     /> 

</LinearLayout> 

次にJavaでURLをロードします。 URLのロードが完了したら、WebViewの読み込みイメージをスワップアウトします。

 WebView wv; 
     wv = (WebView) findViewById(R.id.webView1); 
     wv.setWebViewClient(new WebViewClient() { 
      //this is to catch link clicks on your page, to prevent opening a new browser 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return true; 
      } 

      @Override 
      public void onPageFinished(WebView view, String url) { 
       //hide loading image 
       findViewById(R.id.imageLoading1).setVisibility(View.GONE); 
       //show webview 
       findViewById(R.id.webView1).setVisibility(View.VISIBLE); 
      } 
     });   
     wv.loadUrl("http://www.yourdomain.com/blahblahblah.htm"); 

ご注意:私はここに使用onPageFinished方法は私の単純なアプリケーションのために正常に動作します、しかし、それはあなたのケースのために動作しない場合があります。読み込みを完了するためにページを完全に聴く方法については、このスレッドを参照してください - >How to listen for a WebView finishing loading a URL?