活动没有找到正确的方向

时间:2013-05-30 17:50:35

标签: android android-ui android-orientation

对于我的应用程序,我需要修改手机上的纵向方向,并允许平板电脑上的纵向和横向。我查看了答案here,但我想尝试单独使用xml。 我尝试在清单中添加以下行

<activity
android:theme="@style/Theme.ActionBarLargeTitle"
android:name="com.work.activities.MyActivity"
android:screenOrientation="@integer/orientation_supported"
android:exported = "false"/>

在res / values / dimens.xml中,我添加了以下行(1对应于肖像)

<integer name="orientation_supported">1</integer>

我创建了另一个文件res / values-sw600dp / dimens.xml,其中添加了(-1对应未指定)

<integer name="orientation_supported">-1</integer>

在手机上,此代码正常工作,并且活动始终处于纵向模式。在Nexus 10“平板电脑(宽度800dp)上,这会失败并且在纵向模式下被修复。这种方法有什么问题吗?

修改 我已检查过各种值,并且在所有情况下(在所有设备中)都会检索res / values / dimens.xml中的值。如果缺少此值,则在安装应用程序时出现错误“安装错误:INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION”。

2 个答案:

答案 0 :(得分:1)

问题是你正在使用-sw600dp限定符,它实际上并不检查方向,而是检查最短边是否至少为600dp。请尝试使用-land-port限定符。

答案 1 :(得分:0)

这里有两个可能的问题:

  • 确保您的平板电脑正在从-sw600dp文件夹中读取。我知道800dp设备可能听起来很奇怪。检查的简便方法是在两个文件夹中添加一个包含相同密钥的字符串,并显示在TextView中。
  • 确保您的平板电脑了解-1值。我检查过的手机没电了。尝试更改为0并查看它是否强制横向。
相关问题