我有一个小问题,Android应用程序:我需要拍照,但是我需要在相机显示器上放置透明图像,例如重叠。
有不同的方法,(但我不知道如何):
-
使用Android摄像头
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);
为此,我应该做一些诸如启动此意图透明的事情,并且我的重叠图像在下面。
-
在我的XML中包括相机,并进行我需要的更改或类似的更改。
-
从某个地方下载Android摄像头的源代码,更改我需要的源代码,并将其应用程序商业化。(我不知道许可证是否可以让我这样做)。
-
创建自己的相机(这将是丑陋的,也是我的最后选择)。
欢迎好主意。
最好的问候!
我自己做了 - 当时我找不到其他人。您不能依靠相机的意图。我要使用的方法是使用摄像头预览,您可以在类中编写,然后在xml中包含在框架布局中。在同一布局中包括全屏图像视图。它需要一些摆弄Zorder等,尤其是在添加/删除图像时。
编写一个以控制相机预览的课程似乎令人生畏,但实际上非常简单,并且为您提供了更多的控制,而不仅仅是使用相机的意图。浏览此处获取更多信息。
尝试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的文档。这可能有用