Android 全屏 VideoView 保持纵横比

Android fullscreen VideoView maintain aspect ratio

我想知道是否有可能在不拉伸且侧面没有黑条。我认为如果没有多个版本的视频本身,这是不可能的。只是在寻找确认。现在我只是通过像这样使用视频视图对齐方式使其在所有设备上全屏显示:

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

你所要求的在物理上是不可能的。如果你想保持宽高比,这意味着你必须按相同的百分比缩放宽度和高度。如果这恰好恰好适合,那你就没事了。如果没有,则您有黑条,或者您必须打破纵横比来填充它。您需要完全适合各种屏幕尺寸的视频。大多数屏幕是 16:9 或 4:3,因此如果您有两种格式的视频,您将适合大多数屏幕,但总会有一些异常值。