2011-07-11 42 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?