Как сделать контент веб-просмотра невидимым? - PullRequest
0 голосов
/ 08 марта 2012

Я получаю видео в своем приложении от 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 ]

1 голос
/ 08 марта 2012

Используйте webView.removeAllViews(), чтобы удалить все виды из WebView

0 голосов
/ 10 марта 2012

Я думаю, почему это происходит потому, что когда вы проигрываете видео, ему нужно будет показать или SurfaceView, или VideoView, чтобы отобразить его (что я должен был делать в прошлом), который будет накладываться поверхВаш WebView.К счастью, они будут добавлены как дети, поэтому getChildAt () / removeAllViews () / addView () работает.

0 голосов
/ 08 марта 2012

Вы пробовали mWebView.setVisibility(View.GONE);? У меня это работает.

...