我想在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" />
活动始终以纵向模式启动,无论是平板电脑还是手机设备。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
编辑:我最初阅读您的问题意味着您希望完全控制启动方向。如果您对获得自然/默认方向感到满意,请使用nosensor
,如下所述。
这可能不符合答案 - 我可以分享更多内容而不是评论。
您可能已经查看了相关问题中的讨论:related-1,related-2,related-3。
根据我的经验,当一个问题被许多不同的人调查了四年,没有找到解决方案时,通常意味着没有解决方案。
一种选择可能是在清单中使用nosensor方向:
机器人:screenOrientation = “nosensor”
这将以设备的“默认”或“自然”方向启动活动。在我的设备上,这是:phone = portrait,7-inch-tablet = portrait,10-inch-tablet = landscape。如果您想要7英寸平板电脑的风景,将不适合您。
This post包含用于确定设备默认方向的代码。