2012-03-01 43 views
1

我想在页面完全加载到webView之前显示图像,但webview显示一段时间后显示空白,然后显示desisted页面显示空白屏幕的时间量我想显示一些image.I在viewpager中使用webview。Android:在页面加载时显示临时图像

我已经尝试onPageStarted,onPageFinished方法,但没有任何成功。

下面是代码:

 web.setWebViewClient(new WebViewClient() { 
        // load url 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         view.loadUrl(url); 
         return true; 
        } 

        // when finish loading page 
        public void onPageFinished(WebView view, String url) { 
         web.setVisibility(View.VISIBLE); 
         image.setVisibility(View.GONE); 
        } 
       }); 

    <ImageView 
         android:id="@+id/imageviewloading" 
         android:layout_width="wrap_content" 
         android:layout_height="0dip" 
         android:layout_gravity="center" 
         android:layout_weight="1" 
         android:contentDescription="@string/app_name" 
         android:src="@drawable/photo_downloading" /> 

        <WebView 
         android:id="@+id/website" 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:visibility="gone" /> 
       </LinearLayout> 
+0

您是否尝试过使用AsyncTask来完成此功能?由于您所需的行为可以通过AsyncTask的doInBackground和onProgressUpdate轻松实现。 – 2012-03-01 12:12:37

+0

是的,我用过,但我不想在这里使用。 – Akram 2012-03-01 12:24:28

回答

1

webview.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) { 
         // Activities and WebViews measure progress with different scales.  
     // The progress meter will automatically disappear when we reach 100% 
      activity.setProgress(progress * 1000); 
      } 
       }); 

这对我来说诀窍

1

您可以在页面加载跳开始,页面加载完成事件的WebView这样的:

myWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
     // Show placeholder icon here 
     } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     // Hide placeholder image here 
     } 
    }); 
+0

我尝试过,但显示白色屏幕,然后我带着你可以检查我的代码的想法。 – Akram 2012-03-01 12:01:17

+0

我不知道你的意思是“显示白屏”。通过设置背景颜色,您可以轻松查看该白色区域是什么。它是WebView吗?它是ImageView吗?如果两者都不是,那么你的布局是不正确的(我不能说,因为你只是张贴了一部分)。如果它是WebView,那么你的页面加载失败,或者你正在加载一个白页。 – 2012-03-01 12:36:16

+0

你是正确的关于一件事在这里是背景是白色的,你提到的第二件事是页面加载失败这不是这种情况here.My网页正在显示,但其采取某个时间,我想显示一些图像,直到页面不是完全读取。亲爱的,再次检查我的问题。 – Akram 2012-03-01 12:44:43

相关问题