【问题标题】:Force portrait mode in camera在相机中强制人像模式
【发布时间】:2012-03-28 13:19:57
【问题描述】:

我正在使用意图调用相机并单击图片。 目前我在模拟器上,想强制相机以纵向模式单击图片(需要捕获应用程序工作的视频,所以方向变化看起来很糟糕)但相机屏幕显示为横向以及我调用的所有进一步活动onActivityResult().

点击图片后,Activity 布局以横向模式出现,如下所示:

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

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

到上面显示的活动,但无济于事。尽管当我回家并恢复时,它以纵向正确显示。

那么我该如何强制竖屏模式呢??

【问题讨论】:

标签: android android-camera android-orientation


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        这应该可行。我建议你检查真实设备。

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

        【讨论】:

          【解决方案5】:

          这应该有效:

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

          【讨论】:

          • 我尝试使用您的代码,但方向仍然相同。其他东西会影响方向吗??
          • 不,我还没有设备。 :(
          猜你喜欢
          • 2013-08-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多