强制相机横屏模式

6

我正在使用意图(Intent)调用相机并拍照。 目前我在模拟器上,并希望强制相机以竖屏模式拍摄照片(需要捕捉应用程序工作的视频,因此方向变化会显得不好),但是相机屏幕显示为横向,而且我在onActivityResult()中调用的所有后续活动都出现了这种问题。

相机屏幕

点击照片后,活动布局呈横向模式,如下所示: 输入图像描述

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

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

尝试过调整到上述活动页面的方向,但无效。然而,当我返回主屏幕并恢复时,它在纵向显示正常。

那么我应该如何强制使用纵向模式?


1
在您的相机活动中的 onResume 中添加以下内容:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - ρяσѕρєя K
请查看 - https://dev59.com/g2LVa4cB1Zd3GeqP1fYj - Suvam Roy
5个回答

2

所有的解决方案都不起作用。布局也没有问题。我通过在更高版本(API10到API15)上运行来解决了这个问题。真奇怪!!


0

0

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


-1
在 manifest.xml 文件中,写下你定义这个活动的位置。
<activity android:name="your_activity name" android:screenOrientation="portrait" />

这应该可以工作。我建议你在真实设备上进行检查。

在你的预览开始的地方使用这段代码来捕获图像。


-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); 

我尝试运行你的代码,但是方向仍然相同。可能还有其他因素影响了方向吗? - Sankalp
不,我还没有设备。 :( - Sankalp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接