你好!有没有一种很好的方法可以使用16:9的SurfaceView,然后将其调整到更大,直到它触及屏幕边缘? (所以SurfaceView的尺寸最大,仍然是16:9而不是在屏幕之外)
我听说它叫做letterbox,但是没有找到任何关于它的教程。
由于
答案 0 :(得分:2)
有两种相关的尺寸,Surface的大小和View的大小。
Surface的大小取决于呈现给它的视频的大小。你无法改变这一点。 720p视频将大小设置为1280x720。
视图的大小由布局代码决定。这可以在你的应用程序中设置。
系统合成器(SurfaceFlinger)将缩放Surface的内容,使它们适合视图。为避免失真,您需要保持相同的宽高比。您可以使用自定义FrameLayout执行此操作。
有关示例,请参阅Grafika的视频播放器中AspectFrameLayout的使用方式,例如: this chunk of code