私はポートレートモードで再生するビデオを持っています。ビデオの終わりに、いくつかのビューを表示する必要があります。これはこれまでのところうまく動作します。Android - フルスクリーンビデオの最後のフレームにオーバーレイされたビューは、画面のオン/オフ時に正しく再描画されません。
しかし、ビデオの最後のフレームを超えているビューは、画面の電源を切ってから再びアクティビティに戻ったときに正しく再描画されず、画面のロックが解除されるという問題があります。
私が観察しているのは、画面が再び表示され、ロックが解除されたときです。私のビデオと画像は、まずフルスクリーンモードの外でレンダリングされ(ステータスバーはまだ表示されています)、画面はすべてのビューをシフトしてアーチファクトを引き起こすフルスクリーンモードになります。
レンダリング後、フルスクリーンへの遷移によってビューがビュー境界からシフトされているようです。
私は実際にこれが起こるのを防ぐ方法については困惑しています。
Here is the sandbox project on githubこれをコードの完全な部分にすることを避けるためです。
プロジェクトのための基本的な設定はこれです:
フラグメントの活動は、ビデオビューおよびそれのレイアウト上のボタン表示されています。 次に、contentViewコンテナにフラグメントを追加します。 contentViewは、ビデオ再生の終了前に1秒間フェードインします。
すべてがスムーズに機能し、問題は画面の電源を入れた後にアプリに戻ることです。
また、ビデオは完全にドロップアウトされ、ビューは黒い背景の上に座っています。
お手数ですがお寄せいただきありがとうございます。
ここでは、背面に、画面をオフにし、ロックを解除する場合に発生するアーチファクトです。 私はそれを撮らなければならないことに注意してください。 DDMSでは、スクリーンショットツールがイメージを適切に表示します。
提案してくれてありがとうColin。私はそれを試してみましょう。 –
np!それがうまくいってほしい:) –
ありがとうコリン。これは間違いなく助けになりました。私はまだそれを修正する方法を理解していませんでしたが、あなたの提案は問題を示しています。問題は、ロック画面を表示しているときにonResumeが呼び出されることです。ロック画面でステータスバーが表示され、不適切な描画が行われます。ユーザーの意図を受け入れることで、問題を解決するのに役立ちます。ここで問題となるのは、ビューの無効化を呼び出すと効果がないように見えることです。しかし、それは簡単な部分でなければなりません。再度、感謝します! –