我有(相机源预览(没有覆盖整个屏幕,里面(相机源预览(有(图像视图(似乎隐藏在(相机源预览(后面,我的观点是我需要(相机源预览(覆盖整个屏幕,以及它前面的图像视图。
主布局
<com.google.android.gms.samples.vision.face.facetracker.ui.camera.CameraSourcePreview
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.samples.vision.face.facetracker.ui.camera.GraphicOverlay
android:id="@+id/faceOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.gms.samples.vision.face.facetracker.ui.camera.CameraSourcePreview>
<ImageView
android:id="@+id/btn_change_camera"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="end"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:clickable="true"
android:contentDescription="@string/img_desc_btn_change_camera"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_change_camera" />
<ImageView
android:id="@+id/btn_capture"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="20dp"
android:clickable="true"
android:contentDescription="@string/img_desc_btn_capture"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_capture" />
截图
要使 CameraSourcePreview 覆盖整个屏幕,您必须更改 CameraSourcePreview.java 文件中的一些代码,例如,
在你的 onLayout 方法中,
// Computes height and width for potentially doing fit width.
int childWidth = layoutWidth;
//int childHeight = (int)(((float) layoutWidth / (float) width) * height);
int childHeight = layoutHeight;
然后在您的条形码捕获活动中,找到createCameraSource方法,并注释掉setRequestPreviewSize,如下所示。
CameraSource.Builder builder = new CameraSource.Builder(getApplicationContext(), barcodeDetector)
.setFacing(CameraSource.CAMERA_FACING_BACK)
//.setRequestedPreviewSize(1600, 1024)
.setRequestedFps(15.0f);
现在,您可以全屏查看CameraSourcePreview。