确定显示器的自然方向,与当前方向无关?

时间:2014-05-20 19:20:16

标签: android

基本上,如果设备在纵向模式下直接定向,我想找到Display#getRotation()将返回的值,但不假设用户以这种方式持有他们的设备。我想要这样做的原因是我有一个相机活动应该始终以纵向模式运行,我需要适当地设置相机的方向,以便图像以与现实相同的方向出现,但我不能当此活动开始并且初始化摄像机时,保证设备处于任何特定方向,这不仅是因为用户不可预测,而且因为他们可能正在从横向模式活动进入摄像机,如果他们正在使用平板电脑。 / p>

我看到https://stackoverflow.com/a/9888357/3634598,但我对此解决方案不满意,因为它假设用户将设备保持在与窗口相同的方向,这在我的情况下是错误的,因为我锁定了方向画像。

令我感到沮丧的是,Android会有一个自然导向的概念,开发人员应该对此进行补偿,没有无上下文的方式来实现它。

1 个答案:

答案 0 :(得分:0)

您可以强制活动仅使用纵向方向,而不是获得自然显示方向。

在您的活动中的代码中:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

或在activity标记内的清单中:

<activity android:screenOrientation="portrait" ... />