在相机中强制纵向模式

时间:2012-03-28 13:19:58

标签: android android-camera android-orientation

我正在使用意图并单击图片来调用相机。 目前我在模拟器上,并希望强制相机以纵向模式点击图片(需要捕获应用程序工作的视频,因此方向更改看起来很糟糕)但相机屏幕显示横向和我调用的所有其他活动onActivityResult().

Camera Screen

单击图片后,活动布局以横向模式显示,如下所示: enter image description here

虽然我之前的所有活动都以纵向方式正确显示。 我尝试添加

android:screenOrientation="portrait" 
android:configChanges="orientation|keyboardHidden"

上面显示的活动,但无济于事。虽然当我回到家中并在恢复时,它正确地以肖像显示。

那么如何强制进行肖像模式?

5 个答案:

答案 0 :(得分:2)

这些解决方案都不起作用。布局也没有任何问题。我通过运行更高版本(API10到API15)来实现它。 怪异!!

答案 1 :(得分:0)

我认为这是一个已知问题,请参阅Camera|SetDisplayOrientation

答案 2 :(得分:0)

您只需为每个视图设置ID。 您无需在相机中强制使用纵向模式。 这样做可以防止活动重新创建视图和丢失数据

答案 3 :(得分:-1)

在您定义此活动的manifest.xml中写入。

<activity android:name="your_activity name" android:screenOrientation="portrait" />

这应该有效。我建议你检查真实设备。

将此代码用于预览开始的图像捕获类。

答案 4 :(得分:-2)

这应该有效:

 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
 i.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
 i.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
 startActivityForResult(i, CAMERA_CODE);