尝试将方向屏幕固定为自然或默认方向时出现问题

时间:2015-07-01 14:37:50

标签: android orientation android-manifest

我想在AndroidManifest中锁定指定配置的屏幕方向,而不是以编程方式执行。所以我最终采用了以下方法:

值/ config.xml中

<resources>
    <integer name="orientation">1</integer>
</resources>

值-sw600dp / config.xml中

<resources>
    <integer name="orientation">0</integer>
</resources>

如果我以编程方式检查值的资源

getResources().getInteger(R.integer.orientation)

我得到了预期值:平板电脑为0,手机为1,这是横向和纵向方向框架指定的值。

但是如果我在AndroidManifest中使用这个资源:

<activity
            android:name="activities.InitialConfigActivity_"
            android:noHistory="true"
            android:screenOrientation="@integer/orientation" />

活动始终以纵向模式启动,无论是平板电脑还是手机设备。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

编辑:我最初阅读您的问题意味着您希望完全控制启动方向。如果您对获得自然/默认方向感到满意,请使用nosensor,如下所述。

这可能不符合答案 - 我可以分享更多内容而不是评论。

您可能已经查看了相关问题中的讨论:related-1related-2related-3

根据我的经验,当一个问题被许多不同的人调查了四年,没有找到解决方案时,通常意味着没有解决方案。

一种选择可能是在清单中使用nosensor方向:

机器人:screenOrientation = “nosensor”

这将以设备的“默认”或“自然”方向启动活动。在我的设备上,这是:phone = portrait,7-inch-tablet = portrait,10-inch-tablet = landscape。如果您想要7英寸平板电脑的风景,将不适合您。

This post包含用于确定设备默认方向的代码。