創建自定義視頻類是這樣的:
public class CustomVideoView extends VideoView {
protected int _overrideWidth = 480;
protected int _overrideHeight = 360;
public CustomVideoView(Context context) {
super(context);
}
public CustomVideoView(Context context, AttributeSet set) {
super(context, set);
}
public void resizeVideo(int width, int height) {
_overrideHeight = height;
_overrideWidth = width;
// not sure whether it is useful or not but safe to do so
getHolder().setFixedSize(width, height);
//getHolder().setSizeFromLayout();
requestLayout();
invalidate(); // very important, so that onMeasure will be triggered
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(_overrideWidth, _overrideHeight);
}
}
在你的類使用resizeVideo
方法與屏幕寬度和高度的參數。
考慮到這一切都取決於電影比例和屏幕比例。如果它們相同,則視頻將全屏顯示,但當它們不同時,視頻會根據寬度/高度進行調整。
何時何地使用resizeVideo()?我的意思是,我會如何知道比率是否有差異,是否有任何方法? –
謝謝!這個'resizeVideo'函數應該是'VideoView'的一部分 –