私は TextureView を使用して、このチュートリアルsetTransform(matrix)
のようにスケールマトリックスを設定して、トリミングされたビデオを表示しています。したがって、ビデオはビュー自体よりも大きくなります。これは、KitKat (4.4) を除くすべての Android バージョンで正常に機能します。
ここで私が抱えている問題は、TextureView のコンテンツがビュー境界でトリミングされていないことです。ビデオのトリミングされた部分も描画されます。ただし、外側の部分は、レイアウトが更新 (スクロール) されたときにのみ更新されます。
トリミングされたビデオ (nature.mp4) は次のようになります。
KitKat では次のようになります (このスクリーンショットではレイアウトの境界を示しています)。
クリップ境界をビュー境界に設定しようとしましたが、うまくいきsetClipBounds(..)
ません。また、Canvas.clipRect(..)
TextureViewの描画方法がfinalなので使えません。
これは明らかに KitKat のバグですが、回避策を考えている人はいますか?