Dee*_*jan 0 video android android-videoview
我有一个VideoView设置为填充父级并且可以正常使用全尺寸视频,我发现很难找到一个解决方案,当视频大小为4:3或更小时,它保持在我的视图左侧,而ios中的相同应用程序显示它在全屏幕.我们可以调整视频大小并以与视频视图相同的大小显示它吗?还是可以调整VideoView的内容大小?我试过了
view.measure(View.MeasureSpec.EXACTLY, View.MeasureSpec.EXACTLY);
Run Code Online (Sandbox Code Playgroud)
但没有结果
制作一个这样的自定义视频类:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
在您的班级中使用resizeVideo
屏幕宽度和高度作为参数的方法.
请注意,所有这些都取决于电影比率和屏幕比例.如果它们相同,则视频会全屏显示,但当它们不同时,视频会根据宽度/高度进行调整.