Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Web视图加载内容后设置其可见性(View.VISIBLE)?_Android_Android Webview - Fatal编程技术网

Android 如何在Web视图加载内容后设置其可见性(View.VISIBLE)?

Android 如何在Web视图加载内容后设置其可见性(View.VISIBLE)?,android,android-webview,Android,Android Webview,在我的应用程序中有一个广告web视图,即在活动开始时调用url。 一切都很好,除了一件小事,它更像是一个可见性问题。。。 因此,当我开始活动时,我会看到页面加载。。大约在0.3秒内,文本出现,然后图片出现,所有内容以某种方式从左到右浮动。这不太好,我想将我的webView的可见性设置为VIEW.GONE,直到加载完成,然后我可以将其设置为可见 有没有一个好的、有效的方法来实现这一点? 重要的是,它必须在每个操作系统版本的Android 2.3到4.0上运行。 我已经尝试了onPageFinish

在我的应用程序中有一个广告web视图,即在活动开始时调用url。 一切都很好,除了一件小事,它更像是一个可见性问题。。。 因此,当我开始活动时,我会看到页面加载。。大约在0.3秒内,文本出现,然后图片出现,所有内容以某种方式从左到右浮动。这不太好,我想将我的webView的可见性设置为VIEW.GONE,直到加载完成,然后我可以将其设置为可见

有没有一个好的、有效的方法来实现这一点? 重要的是,它必须在每个操作系统版本的Android 2.3到4.0上运行。

我已经尝试了onPageFinished和PictureListener,但没有希望,onPageFinished只能在4.0上正常工作,PictureListener适用于图片,这不是在不同广告和不同图片数量的情况下实现这一点的最佳方法。(如果根本没有图片怎么办…)


如果你有办法,请告诉我。谢谢大家。

您是否尝试过
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();

我在2.3到4.0操作系统上使用过此功能,没有任何问题

在onPageFinished方法期间使用webview可见性 视图不显示所有页面加载

webView1.setWebViewClient(new WebViewClient(){

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

                                                    webView1.setVisibility(View.VISIBLE);

                                                }

与其这样做,为什么不在活动中保留“进度”对话框,不如在webview完全加载数据时关闭“名称结果”。我想完全隐藏我的webView,直到它完成内容加载…为了确定页面加载的进度,无法逃避对onPageFinished()/onProgressChanged()方法的依赖。但是关于可见性的第二个问题,一个可能的解决方法是将webview放在另一个父视图元素中,并利用webview.getParent().setVisibility()方法。