问题描述
我在回收视图中使用视频视图。我想要实现的是,当视频视图的比例为 9:16 时,我需要填满整个屏幕,保持纵横比并且没有边距。但是当视频比例不是 9:16 时,例如 1:1 或横向,我需要视频保持完全相同的大小,同时保持纵横比。如何实现这一目标?这是我当前的代码:
mVideoView.setonPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mProgressBar.setVisibility(View.GONE);
mp.start();
float videoRatio = mp.getVideoWidth() / (float)mp.getVideoHeight();
float screenRatio = mVideoView.getWidth() / (float)mVideoView.getHeight();
float scale = videoRatio / screenRatio;
if (scale >= 1f){
mVideoView.setScaleX(scale);
}else {
mVideoView.setScaleY(1f / scale);
}
}
});
这段代码的作用是,它在保持纵横比的同时填满整个屏幕,而不管纵横比如何。如何更改此代码以实现我上面提到的内容?任何帮助,将不胜感激。问候。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)