1

我有一个SurfaceView我想显示一个20dp大小的边框,该边框将围绕SurfaceView. 我需要16:9纵横比的“SurfaceView”,所以我保持了比例SurfaceView161x286大小16:9

为了在表面视图周围显示边框,我在 XML 中有以下实现。

<RelativeLayout 
    android:id="@+id/my_surface_view_holder"
    android:layout_height="161dp"
    android:layout_width="286dp"
    android:padding="20dp"
    android:focusable="true"
    android:clickable="true"
    android:background="#fff"
    >
    <SurfaceView 
        android:id="@+id/video_surface_view"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" />
</RelativeLayout>

上面的代码正确显示了边框,SurfaceView但它打破了视频的 16:9 宽高比,因为我已经20dp为显示边框提供了填充。

如果我根据边框大小调整纵横比,则边框设置不均匀,顶部/底部不同,左/右不同。

那么我如何通过保持其纵横比保持在 161x286 大小来显示 SurfaceView 周围的边框。

谢谢。

4

1 回答 1

3

我找到了方法,这很简单。我将 SurfaceView 的大小设置为 161X286,然后将 RelativeLayout 设置为包含宽度和高度的包装,然后将填充设置为显示 SurfaceView 周围边框的 RelativeLayout。

所以我的 SurfaceView 保持 16:9 的纵横比,并且它有 RelativeLayout 作为它的背景边框。

感谢大家的意见。

于 2012-06-06T12:54:33.403 回答