2012-03-08 14 views
0

私はvimeo.comから私のアプリケーションのビデオを取得し、それはwebviewで再生します。問題は、私がそれを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); 
      } 


     } 
    }); 

}

私はこれをどのように行うことができますか? :)

+0

ユーザーがアクションを表示するときに動的に生成することができます。または、高さを0pxなどに設定することもできます。 Androidのデベロッパーではなく、いくつかのアイデアを捨てるだけです... – JacobTheDev

答えて

1

使用webView.removeAllViews() WebViewの

+1

はい、これはビューを削除しますが、私はそれをある時点で戻す必要があります。これは可能ですか? 'webView's''フラグメント'に戻り、私が望む、非表示のメソッド 'onPause'とWebView +' resume/pauseTimers() 'のonResumeを使用して、ビデオを停止した場所からビデオを再開します私のコンテンツを回復する。私に教えてください、どうすればいいですか? – AlexAndro

+1

私はこのようにして解決しました:フラグメントの 'onPause()'メソッド 'ViewViewの' v'ですべてのビューを 'webView.getChildAt(i)'を使って保存しました。 'webView.addView(v [i]) 'を使用して、それらを読み込んだフラグメントの' onResume() 'メソッドを呼び出します。ヒントありがとう! – AlexAndro

0

あなたはmWebView.setVisibility(View.GONE);を試しましたか?わたしにはできる。

+0

はい、私はそれと同じ効果があります。これは通常のウェブサイトでは動作しますが、この場合は動作しません。 – AlexAndro

0

からすべてのビューを削除する私はなぜこれが起こっていると思いますが、動画を再生するとき、それはそれを表示するには、SurfaceViewまたはVideoViewのいずれかを表示する必要があるためである(私がしなければならなかったました過去に行ったことです)、WebViewの上にオーバーレイされます。幸いにも、それらはgetChildAt()/ removeAllViews()/ addView()が機能する理由として子として追加されます。

関連する問題