对于我的应用程序,我需要修改手机上的纵向方向,并允许平板电脑上的纵向和横向。我查看了答案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”。
答案 0 :(得分:1)
问题是你正在使用-sw600dp
限定符,它实际上并不检查方向,而是检查最短边是否至少为600dp。请尝试使用-land
或-port
限定符。
答案 1 :(得分:0)
这里有两个可能的问题:
TextView
中。