ポートレートモードで再生するビデオがあります。ビデオの最後に、いくつかのビューを表示する必要があります。これはこれまでのところうまくいきます。
ただし、画面をオフにしてから再度オンにし、画面のロックを解除した後にアクティビティに戻ったときに、ビデオの最後のフレームを超えるビューが適切に再描画されないという問題があります。
私が観察しているのは、画面が再びオンになり、ロックが解除されたときです。私のビデオと画像は最初にフルスクリーン モード以外でレンダリングされ (ステータス バーは表示されたまま)、次に画面がフルスクリーン モードになり、すべてのビューが上に移動してアーティファクトが発生します。
ビューがレンダリングされた後にフルスクリーンに移行することにより、ビューがビューの境界からシフトされているようです。
どうすればこのようなことが起こらないようにできるのか、私は本当に困惑しています。
コードだらけの投稿にならないように、github のサンドボックス プロジェクトを次に示します。
プロジェクトの基本的なセットアップは次のとおりです。
Fragment アクティビティには、そのレイアウトにビデオ ビューとボタン ビューがあります。次に、フラグメントを contentView コンテナーに追加します。contentView は、ビデオの再生が終了する 1 秒前にフェードインします。
すべてがスムーズに機能し、問題は画面の電源を入れたり切ったりした後にアプリに戻ることです.
また、ビデオが完全にドロップアウトして、ビューが黒い背景の上に残ることもあります。
ご協力いただきありがとうございます。
画面をオフにしてから再びオンにし、ロックを解除したときに発生するアーティファクトを次に示します。私はそれの写真を撮らなければならなかったことに注意してください。DDMS では、スクリーンショット ツールが画像を正しく認識します。