無趣味な人

生まれてこの方、無趣味。ハマったものこれといって特になし。

Android YouTubePlayer API でフルスクリーン ナビゲーションバーのところが空白になる

Youtube動画を閲覧するAndroidアプリを作っていた。 基本的に画面は縦で使うのを想定しているが、再生中などにフルスクリーンボタンを押すとフルスクリーンになるようにしたかった。

フルスクリーンにしてから暫く経つと、ステータスバーとナビゲーションバー(バックボタンとかホームボタンのバー)が非表示になる。 それに合わせてプレーヤーViewが大きくなってくれず、ステータスバーとナビゲーションバーのところが黒い空白になってしまった。 完全なフルスクリーンにすることができなかった。

ステータスバーとナビゲーションバーが自動で隠れなければそれでもいいし、隠れるならばViewも大きくしたい。どちらかにしたい。

色々調べたが、なかなか解決できなかった。 とりあえず、フラグ

YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT

のセットを外したら、Veiwも一緒に大きくなるようになった。

このフラグをセットしていた理由は、 通常時から全画面への移行やその反対のレイアウト移行時に再バッファを回避できるからだった。 とりあえず、このフラグを外せば希望の動作にはなったが、再バッファは回避できなくなった。 ただ、今回のアプリは基本縦で使うものでほとんどレイアウト移行はないので、フラグを外して解決とした。

以下をコメントアウトした。player はYouTubePlayerのインスタンス

player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);

レイアウトと再バッファの両方とも満たす方法は見つからなかった。 頻繁に、レイアウト移行があるアプリの場合に再バッファを繰り返すのは使い勝手が悪い。 何度かする方法はないものだろうか。