2012-02-15 35 views
0

在我的Android应用程序中,我使用Camera类从手机的camrea中抓取快照。 我使用startPreview来启动相机预览,然后takePicture抓取图像。 我加入Android相机预览仅适用于3种手机方向中的2种

android:screenOrientation="landscape" 

要AndroidManifest.xml中迫使在App景观。 问题是当我的手机逆时针旋转90度时,我返回到我的应用程序。 在这种情况下,我看不到预览。它是黑色的或者没有设置到视图。我可以看到GUI,并且可以正确地从手机中抓取图片。没有看到除预览之外的所有东西。 当手机处于纵向或手机顺时针旋转90度时,不会发生这种情况。

所以简而言之,向左旋转时预览是黑色的,但在其他预览中,预览很好。

我一直对此感慨颇久,但最终我发现它与手机的方向有关,然后再回到应用程序。

为什么我的预览没有在特定的位置上看到?

编辑:我发现了一些东西。 本身不是相机的故障,我在相机预览之上放置的GUI surfaceView以某种方式隐藏了预览。 我将它设置为透明背景,但它不起作用,我也删除了onDraw中的所有绘制调用。但它仍然是黑色的。由于某种原因,它不会发生在其他方向上。任何想法?

回答

0

您定位了哪些API级别?

如果它足够新尝试改变"landscape""sensorLandscape"

我想象会得到它的工作适合你。但是,如果您的目标是太旧的API级别,则不会有此选项。

+0

不,它不起作用。现在我的应用程序可以在运行时在两个风景方向之间旋转。 但是,如果我从任务管理返回到应用程序,并将其旋转到左侧,我仍然会看到黑色预览。如果我将手机旋转到正确的园景,预览仍然是黑色的(虽然GUI很好地旋转)。 现在,如果我将任务管理器开始向右旋转,它也不会始终工作。 它起作用,如果我开始作为肖像虽然。 – user1097185 2012-02-15 18:20:48

+0

嗯,那是我唯一的想法。没有太多的相机预览经验,对不起我没有更多的帮助。 – FoamyGuy 2012-02-15 18:22:21

+0

我发现了一些东西。 本身不是相机的故障,我在相机预览之上放置的GUI surfaceView以某种方式隐藏了预览。 我将它设置为透明背景,但它不起作用,我也删除了onDraw中的所有绘制调用。但它仍然是黑色的。由于某种原因,它不会发生在其他方向上。任何想法? – user1097185 2012-02-15 18:46:34