我正在创建一个应用程序,我想将相机预览限制在相机屏幕的80%左右。我可以使用layout_weight = 0.8来完成它。现在我需要在相机预览的角落实现边框。
我附上了我真正想要完成的事情的快照。以红色显示的边框是我真正想要的。任何指针都会有所帮助。
以下是我将相机图像缩小到80%的方法。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent" android:gravity="center"
android:weightSum="1.0">
<LinearLayout android:orientation="vertical" android:id="@+id/surfaceparent"
android:layout_width="0dp" android:layout_height="match_parent"
android:layout_weight="0.8" android:gravity="center"
android:weightSum="1.0">
<SurfaceView android:id="@+id/camera_preview"
android:layout_width="fill_parent" android:layout_height="0dp"
android:layout_weight="0.8">
</SurfaceView>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
将surfaceview放在相对布局中并在其上添加图像:
<RelativeLayout android:orientation="vertical" android:id="@+id/surfaceparent"
android:layout_width="0dp" android:layout_height="match_parent"
android:layout_weight="0.8" android:gravity="center"
android:weightSum="1.0">
<SurfaceView android:id="@+id/camera_preview"
android:layout_width="fill_parent" android:layout_height="0dp"
android:layout_weight="0.8">
</SurfaceView>
<ImageView android:src="@drawable/tl" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" />
<ImageView android:src="@drawable/tr" android:layout_alignParentTop="true" android:layout_alignParentRight="true" />
<ImageView android:src="@drawable/bl" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" />
<ImageView android:src="@drawable/br" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" />
</RelativeLayout>
或者你可以有一个9补丁图像