現在、特定の位置にビデオを表示するビデオビューを実装しようとしています。フルスクリーンのビデオを問題なく表示できます。ただし、そのビデオをフレーム (たとえば小さな長方形) 内に表示しようとすると、そのビューにビデオの一部しか表示できません。ビデオをそのビューに収めることができませんでした。
Androidでビデオをスケーリングすることに関する多くのリンクをすでに探していますが、これを行う方法が見つかりませんでした. その問題に関するヘルプは役に立ちます。
私が使用しているのは、2つの異なるクラスがあることです。1 つはビデオ アクティビティ クラスで、もう 1 つはヘルパー クラスです。
public class VideoViewCustom extends VideoView {
private int mForceHeight = 0;
private int mForceWidth = 0;
public VideoViewCustom(Context context) {
super(context);
}
public VideoViewCustom(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public VideoViewCustom(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void setDimensions(int w, int h) {
this.mForceHeight = h;
this.mForceWidth = w;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(mForceWidth, mForceHeight);
}
}
そのクラスは、ビデオビューのサイズを正しく設定するのに役立ちますが、ビデオをその領域に合わせることができませんでした。つまり、その領域に収まるようにビデオをスケーリングできませんでした。Androidが特定の次元に自動スケーリングされているかどうかはわかりませんが、できませんでした。