如何使webview内容不可见?

时间:2012-03-08 13:28:43

标签: android webview visibility

我从vimeo.com获取了我的应用程序中的视频,并在webview中播放。问题是,当我想让webview不可见时,它不起作用。只有容器消失但内容仍然存在,它是不活动的(我的意思是你无法控制它),但它就在那里。它适用于一个普通的网站,但在这种情况下,它没有。 我尝试了一些WebView属性但没有结果。

我不打算以这种方式停止,暂停或恢复视频,我只想让它全部隐身。

   @Override
   public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView)findViewById(R.id.wv);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);

    //mWebView.loadDataWithBaseURL(null,"<html><body> <iframe id='video' src='http://player.vimeo.com/video/37817858?autoplay=1&api=1'" +
            //" width='300px' height='200px' frameborder='0'></iframe></html><body> ", "text/html", "utf-8",null);

    mWebView.loadUrl("http://player.vimeo.com/video/37817858");
    Button mbtn = (Button)findViewById(R.id.btn);
    mbtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(mWebView.getVisibility() == View.VISIBLE){

                mWebView.setVisibility(View.INVISIBLE);

            }
            else{
                mWebView.setVisibility(View.VISIBLE);
            }


        }
    });

}

我该怎么做? :)

3 个答案:

答案 0 :(得分:1)

使用webView.removeAllViews()从WebView中删除所有视图

答案 1 :(得分:0)

你试过mWebView.setVisibility(View.GONE);吗?它对我有用。

答案 2 :(得分:0)

我认为为什么会发生这种情况是因为当你播放视频时,它必须显示一个SurfaceView或一个VideoView来显示它(我过去必须做的),它将覆盖在你的WebView。幸运的是,它们将作为子项添加,这就是getChildAt()/ removeAllViews()/ addView()的工作原理。