0

我有一个小问题,使用 Android 应用程序:我需要拍照,但我需要在相机显示屏上放置一个透明图像,就像重叠一样。

有不同的方法,(但我不知道如何):

  1. 使用安卓相机

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    activity.startActivityForResult(intent, Picture.CAMERA);
    

    为此,我应该做任何事情,比如开始这个意图透明,并且我的重叠图像在下面。

  2. 在我的 XML 中包含相机,并进行我需要的更改,或者类似的事情。

  3. 从某处下载android相机的源代码,根据需要进行更改,并将我的应用程序商业化。(我不知道许可证是否允许我这样做)。

  4. 创建我自己的相机(这会很丑,也是我最后的选择)。

欢迎好的想法。

最好的祝福!

4

2 回答 2

0

我自己做过这个——当时我找不到其他人做过。您不能为此依赖相机意图。我将使用的方法是使用相机预览,您可以在类中编写它,然后将其包含在框架布局中的 xml 中。在同一布局中包括全屏图像视图。它需要一些 zorder 等的摆弄,特别是在添加/删除图像时。

编写一个类来控制相机预览可能看起来令人生畏,但实际上非常简单,并且比简单地使用相机意图提供了更多的控制。请参阅此处了解更多信息。

于 2012-12-18T22:57:53.530 回答
0

试试 LayoutInflater

如下所示:

//主布局first.xml

setContentView(R.layout.preview_camera); 

//另一个second.xml文件

controlInflater1 = LayoutInflater.from(getBaseContext());
     View viewControl1 = controlInflater.inflate(R.layout.frame_layout, null);
     LayoutParams layoutParamsControl1
      = new LayoutParams(LayoutParams.FILL_PARENT,
      LayoutParams.FILL_PARENT);
     this.addContentView(viewControl1, layoutParamsControl1);

阅读 LayoutInflater 的文档。它可能会有所帮助

于 2013-08-14T08:29:50.243 回答