我有一个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周围的边框。
感谢。
答案 0 :(得分:2)
我找到了路,这很简单。我将SurfaceView的大小设置为161X286然后我将RelativeLayout设置为包含宽度和高度包含然后我将padding设置为RelativeLayout,它显示SurfaceView周围的边框。
所以我的SurfaceView维护16:9的方面Ration,并且它具有RelativeLayout作为它的背景边框。
感谢大家的意见。