我正在使用一个回收视图内的视频视图。我想要达到的是,当视频视图的比例为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);
}
}
});
这段代码的作用是,它填充整个屏幕,同时保持纵横比,而不考虑纵横比。如何更改此代码以实现我上面提到的内容?任何帮助都将不胜感激。当做。
暂无答案!
目前还没有任何答案,快来回答吧!