Android VideoView изменить размер в соответствии с каждым устройством - PullRequest
1 голос
/ 12 июня 2019

Я играю видео в режиме просмотра Android. Это означает, что размер видео не изменяется в соответствии с соотношением устройств. На больших устройствах это растянуто или в маленьком устройстве это скексы. Есть ли способ сохранить соотношение и заполнить всю ширину, как центр кадрирования.

Я проверил следующие ответы:

Изменение размера видео для соответствия VideoView

Изменение ориентации Android VideoView с буферизованным видео

Но ничего не работает.

Мой код:

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 Ответ

1 голос
/ 12 июня 2019

Обернуть весь 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>
...