打开源码,VideoView本质是封装了SurfaceView+MediaPlayer....
铺满屏幕的方法网上也有很多,个人看了源码,也找到一个方法,分享之:
首先当然是videoview布局,match_parent不用多说,实在不放心,那就在代码里面设置为屏幕的宽高,
然后重点来了:
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) {
mp.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING); //TODO
} });源码中这个mode有两种:
- VIDEO_SCALING_MODE_SCALE_TO_FIT:适应屏幕显示
- VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING:充满屏幕显示,保持比例,如果屏幕比例不对,则进行裁剪
所以,根据需要设置即可,over!