【问题标题】:android VideoView resizes videoandroid VideoView 调整视频大小
【发布时间】:2019-12-27 11:42:47
【问题描述】:
我有一个自定义 VideoView,我正在重写 onMeasure 方法以使视频充满屏幕,同时保持视频文件的比例。
一切正常,但对于某些视频,它的行为很奇怪:
我在 onMeasure 方法中放置了一个中断点并在调试模式下运行。
当视频加载时,它会按预期填满屏幕,但几秒钟后,恰好当鼠标指针消失时,视频会调整到其原始大小,而不是填满屏幕,并且不会再次越过中断点(onMeasure 方法没有被调用)。
如果我再次移动鼠标,视频会填满屏幕,直到指针消失。
我使用的是 Android 4.4.4。
【问题讨论】:
标签:
android
video
resize
android-videoview
【解决方案1】:
如果有人遇到同样的问题,我会发布我所做的:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
FrameLayout fralayout = (FrameLayout) findViewById(R.id.framelayoutparent);
FrameLayout.LayoutParams lpFraParams = (FrameLayout.LayoutParams) fralayout.getLayoutParams();
lpFraParams.width = metrics.widthPixels-1;
lpFraParams.height = metrics.heightPixels-1;
fralayout.setLayoutParams(lpFraParams);
以前我没有在宽度和高度上减去一个像素,减去一个像素就可以了。这个 FrameLayout 是 VideoView 的父级。
我不明白它为什么会有这种行为。