完整背景图层,中间有透明框

时间:2015-07-08 04:20:16

标签: android android-layout android-camera glsurfaceview

我正在创建一个应用程序,只根据在中心的框叠加中查看的内容裁剪图片。有没有办法让它在盒子外面变黑,只留下中心盒透明。我已经尝试在glsurfaceView中使用margin,结果是我需要的,但它只会使预览更小。

This is what I need

And this is what I am doing right now.

这是两个相似的图像。如果比较这两个图像,为surfaceView提供边距只会使预览更小。

这是surfaceView的代码。

    <RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.opengl.GLSurfaceView
        android:id="@+id/surfaceView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
       />

</RelativeLayout>

这是覆盖框的代码

<RelativeLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <Button
        android:id="@+id/switchFilter"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Filter"/>

    <RelativeLayout
        android:id="@+id/overlay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:layout_marginTop="150dp"
        android:layout_marginLeft="100dp"
        android:layout_marginRight="100dp"
        android:layout_marginBottom="150dp"
        android:background="@drawable/overlay_bg_green"/>

    <Button
        android:id="@+id/takePhoto"
        android:layout_alignParentBottom="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Take Photo"/>
</RelativeLayout>

0 个答案:

没有答案