Android在SurfaceView周围应用边框

时间:2012-05-30 11:33:10

标签: android

我有一个SurfaceView,我要为其显示20dp大小的边框,该边框将围绕SurfaceView流动。我需要' SurfaceView'在16:9宽高比中,我将SurfaceView的大小保持为161x286,其大小为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周围的边框。

感谢。

1 个答案:

答案 0 :(得分:2)

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

所以我的SurfaceView维护16:9的方面Ration,并且它具有RelativeLayout作为它的背景边框。

感谢大家的意见。