У меня есть действие, в котором для воспроизведения видео используется ExoPlayer. Когда я перехожу в полноэкранный режим, если соотношение сторон устройства не равно соотношению сторон видео, я получаю маленькие черные полосы вверху и внизу видео.
Так выглядит макет:
<com.google.android.exoplayer.AspectRatioFrameLayout
android:id="@+id/video_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true">
<SurfaceView android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"/>
<View android:id="@+id/shutter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"/>
</com.google.android.exoplayer.AspectRatioFrameLayout>
Я надеялся что
aspectRatioFrameLayout.setAspectRatio(mVideo.getAspectRatio());
решит проблему, но безуспешно. Есть ли способ заполнить экран видео, даже если часть видео отрезается от экрана?
SurfaceView
+AspectRatioFrameLayout
сохраняет правильное соотношение сторон, а также максимально заполняет высоту и / или ширину экрана? Вы совпадаете с родителем наSurfaceView
и ... что наAspectRatioFrameLayout
? - person superjos   schedule 29.06.2018