我的头撞了一会儿。基本上我的应用程序显示填充屏幕的相机预览,当用户点击预览时它会捕获图像(尝试通过透明图像按钮执行此操作。在屏幕的底部我想要另一个图像按钮,这次它将停止应用程序正在进行的录制。
这是我的活动布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<ImageButton
android:id="@+id/button_capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:contentDescription="@string/capture"
android:src="@null" />
</FrameLayout>
<ImageButton
android:id="@+id/stopRecording"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="bottom|center"
android:layout_marginBottom="50dp"
android:background="@null"
android:contentDescription="@string/stopRec"
android:onClick="moveToUpload"
android:scaleType="fitCenter"
android:src="@drawable/rec_gray" />
</FrameLayout>
我试图使用FrameLayouts,因为它们允许覆盖。
唯一不可改变的事情是CameraPreview是FrameLayout。
任何帮助都赞赏纠正此代码,
感谢。
答案 0 :(得分:1)
如果要在预览中添加按钮,请使用单独的布局并将它们合并到主布局
中<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<include
android:layout_width="fill_parent"
android:layout_height="fill_parent"
layout="@layout/layout2" />
<include
android:layout_width="fill_parent"
android:layout_height="fill_parent"
layout="@layout/layout1" />
</merge>
一个布局将仅包含预览,第二个布局将包含按钮,合并后您将在预览中放置按钮。
如果你想使用透明按钮,请使用带有alpha chanel的png文件,这样可以解决问题:)
答案 1 :(得分:0)
你需要像这样在你的xml中添加Cameraview
<FrameLayout
android:id="@+id/mySurfaceView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.cam.CapturePreview
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</com.cam.CapturePreview>
</FrameLayout>