2012-07-11 101 views
3

在我的应用程序中有一个广告网络视图,即在活动开始时调用网址。 一切都很好,除了一件小事情,它更像是一个可见性问题... 所以,事情是当我开始活动,我真的看到页面加载..关于在0.3秒的文本出现,然后图片,并且所有的内容以某种方式从左向右漂浮。它不是很好,我想将我的webView的可见性设置为VIEW.GONE,直到它完成加载,然后我可以设置它可见...如何将setVisibility(View.VISIBLE)设置为加载其内容后的webView?

有没有一个好的,工作的方式为达到这个目的? 重要的是,它必须在Android 2.3到4.0的每个操作系统版本上运行。

我已经尝试onPageFinished和PictureListenerrelated to this stack question here,但没有希望,onPageFinished只是正常工作在4.0和PictureListener用于图片这是不是与不同数量的图片不同advertisings的情况下做到这一点的最好办法。 (以及如果根本没有图片......)

请如果你知道一种方式让我知道。谢谢大家。

+0

而不是这样做你为什么不在你的活动中保持进度对话框,当webview完全加载数据时忽略 – AkashG 2012-07-11 11:19:23

回答

2

你试过WebChromeClient

webView.setWebChromeClient(new WebChromeClient() { 

    public void onProgressChanged(WebView view, int progress) { 
     if (progress == 100) { 
      // dismisses the PD 
      dismissLoadingDialog(); 
     } 
    } 
}); 
    webView.loadUrl("your-Url"); 
// show message dialog here 
createLoadingDialog(); 

我已经onPageFinished方法 视图中使用此上2.3至4.0的操作系统,没有任何问题

+0

相同的结果。我想完全隐藏我的webView,直到它完成加载内容... – 2012-07-11 14:20:12

+0

没有逃脱对onPageFinished()/ onProgressChanged()方法的依赖,以确定页面加载的进度。但是出现第二个可见性问题时,可能的解决方法是将webview放置在另一个父视图元素中,并使用webView.getParent()。setVisibility()方法。 – Sriram 2013-04-19 04:30:06

1

使用的WebView知名度不显示UTIL所有页面加载。

webView1.setWebViewClient(new WebViewClient(){ 

               @Override 
               public void onPageFinished(WebView view, String url) { 
                super.onPageFinished(view, url); 

                webView1.setVisibility(View.VISIBLE); 

               } 
相关问题