2011-07-11 79 views
2

我正在使用我的android應用程序中的webview ...每當我打開一個url時,我的頁面是空白的,過了一段時間後,url內容出現了......如何在此過渡時間內在webview中添加加載圖像? ?我試圖打開兩次,第一次加載一個本地內容,然後下一次我想喂的真實url,但它不起作用,我認爲異步調用有問題。如何將加載圖像添加到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?