android:screenOrientation="sensorLandscape" 显示最小 SDK 为 2.2 的项目的错误
Posted
技术标签:
【中文标题】android:screenOrientation="sensorLandscape" 显示最小 SDK 为 2.2 的项目的错误【英文标题】:android:screenOrientation="sensorLandscape" showing error for a project with the minimum SDK as 2.2 【发布时间】:2012-04-16 18:23:43 【问题描述】:我正在尝试为我的一项活动设置android:screenOrientation="sensorLandscape"
,以启用横向左侧和右侧横向。
在我的项目属性中,我已将项目构建目标设置为 Android 2.2。在我的清单中,最低 SDK 版本也设置为 Android 2.2(API 级别 8): 我的清单中的行是:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
根据文档,我应该可以使用“sensorLandscape”属性,但是当我尝试设置它时,我得到的错误是“error: Error: String type not allowed (at "screenOrientation" with value "sensorLandscape")
”。
我是否在某处遗漏了一些额外的设置?
【问题讨论】:
我知道这可能很愚蠢,但尝试关闭 eclipse 并重新打开它,然后执行清理项目。有时这种情况会发生在我的 eclipse 身上! 嗯,这并不傻,因为我已经看到很多这样的事情发生了;可悲的是,没有帮助:( 【参考方案1】:"sensorLandscape":横向,但可以是基于设备传感器的正常或反向横向。在 API 级别 9 中添加。 所以我认为你的 minsdkVersion 应该是 9 而不是8...
【讨论】:
我相信你是对的。当我在文档中使用 API 级别过滤器时,它并没有使 sensorLandscape 部分变灰,这让我很反感。 no..targetSDK >= 9 足以让它工作,你可以安全地将 minSDK 设置为 8,我现在可以工作,但我不知道你的问题是什么 嗨,马赫迪,抱歉,我删除了我的最后一条评论。有一些有趣的事情正在发生,我最好避免发表具体的声明,直到我能深入了解这个大声笑。我确实觉得有一个错误。编译器错误的出现取决于我在项目属性中设置的部署目标,无论我的清单中的 minSDK 设置为 8 还是 9。 so..如果您将部署目标设置为低于 9 的值,则会显示错误..如果我理解正确,那可能不是错误,因为此属性已添加到 API 9 和目标应该 >=9。 如果,sensorLandscape 是可选的..即您的应用程序也可以在没有此特定 screenOrientation 属性的情况下运行,那么 targetsdk>=9 就足够了..但是如果您的应用程序强制需要该属性 minsdk 应该是 9【参考方案2】:啊哈!这个环境只是/制造/让你发疯,不是吗?
对于我的项目,我将 minSDK 设置为 9 甚至 12,没有任何区别。
当然,当我创建项目时,我已经为 minSDK 8 构建了它......这意味着我列出了 android-8 (2.2) 库供我的项目链接。
对于遇到此问题的任何其他沮丧的新手(如我),我采取的解决方法是: 在左侧的 Package Explorer 中,右键单击“Android 2.2”。 选择“构建路径->从构建路径中删除”。 右键单击项目名称,选择“构建路径->配置构建路径” 点击左侧菜单中的“Android”。 取消勾选“Android 2.2”框,并勾选“Android 2.3.1”框(或视情况而定)。 单击“应用”,然后单击“确定”。 再次右键单击项目并选择“构建路径->添加库” 选择“Android Classpath Container”,点击“下一步”。 点击“完成”。
现在,清除您的日志,清理项目,然后再次尝试构建。希望这对您和我一样对您有更好的效果。
【讨论】:
以上是关于android:screenOrientation="sensorLandscape" 显示最小 SDK 为 2.2 的项目的错误的主要内容,如果未能解决你的问题,请参考以下文章
android:screenOrientation="sensorLandscape" 显示最小 SDK 为 2.2 的项目的错误
Android screenOrientation API 18 - “nosensor” vs “locked”,“unspecified” vs “user” vs “fullUser”