在我的应用程序中,我必须实施本机相机活动,必须在其中启动相机并拍照。

详细说明,我的应用程序包含一个文本视图(顶部)以显示活动名称和一个按钮(底部)以及屏幕中间区域,应查看摄像头预览。.当用户单击该按钮时,应单击快照并将其显示为另一个活动的图像视图。

我知道使用以下方法:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, 0 );

但是,如果我使用的话,则不会显示我的文本视图和按钮视图。

(请注意:我正在与HTC Hero一起使用Android SDK 1.5)

请通过建议任何文章,网站或PDF来帮助我。

thanx,paresh

有帮助吗?

解决方案

如果您试图使用本机摄像机,一旦将本机相机称为它,它将控制您的视图。但是,如果您想实现自己的相机,那么这样的布局将是可能的。可以在这里找到一些好的例子:

祝你好运!

其他提示

所有说明均在Android.hardware.camera的Javadoc上 http://developer.android.com/reference/android/hardware/camera.html:

  1. 从Open()获取相机实例。
  2. 使用getParameters()获得现有(默认)设置。
  3. 如有必要,请修改返回的摄像头。参数对象,然后调用setParameters(camera.parameters)。
  4. 如果需要,请调用setDisplayorientation(int)。
  5. 重要的是:将完全初始化的表面持有人传递到setPreviewDisplay(Surface Holder)。没有表面,相机将无法启动预览。
  6. 重要:调用StartPreview()开始更新预览表面。必须在拍照之前开始预览。
  7. 如果需要,请致电TakePicture(Camera.ShutterCallback,Camera.picturecallback,Camera.picturecallback,Camera.picturecallback)捕获照片。等待回调提供实际图像数据。
  8. 拍照后,预览显示将停止。要拍摄更多照片,请再次致电StartPreview()。
  9. 调用stoppreview()停止更新预览表面。
  10. 重要的是:Call Release()释放相机以供其他应用程序使用。应用程序应在OnPause()()中立即释放摄像头(在OnResume())中。

    表面持有人使用 表面视图

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top