繁体   English   中英

在相机中强制纵向模式

[英]Force portrait mode in camera

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

相机屏幕

单击图片后,活动布局将以横向模式显示,如下所示: 在此输入图像描述

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

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

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

那我怎么强制肖像模式?

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

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

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

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

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

这应该工作。 我建议你检查一下真正的设备。

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

这个shoudl工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM