Android VideoView根据每个设备调整大小

时间:2019-06-12 06:12:49

标签: android android-videoview android-video-player vrvideoview

我正在Android视频视图中播放视频。问题是视频未按设备比例调整大小。在大型设备上会拉伸,在小型设备上会打滑。有什么方法可以保持比例并像中心作物一样填充整个宽度。

我检查了以下答案:

Resize video to fit the VideoView

Android VideoView orientation change with buffered video

但没有任何效果。

我的代码:

mBinding.videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
                    @Override
                    public boolean onInfo(MediaPlayer mp, int what, int extra) {

                        if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
                            mBinding.placeholder.setVisibility(View.GONE);

                            return true;
                        }
                        return false;
                    }
                });

                mp.setLooping(true);
            }
        });

XML:

  <VideoView
            android:id="@+id/videoView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

  </VideoView>

1 个答案:

答案 0 :(得分:1)

将整个xml布局包装到RelativeLayout中。然后将您的VideoView标记修改如下-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <VideoView android:id="@+id/videoView"
         android:layout_alignParentTop="true"
         android:layout_alignParentBottom="true"
         android:layout_alignParentLeft="true"
         android:layout_alignParentRight="true"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
    </VideoView>

</RelativeLayout>