我在stackoverflow中看到了很多关于这条消息的相关帖子,但它并没有回答我的疑问。
在manifest.xml中,我有:
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="19" />
所以在帖子中,他们说,因为我的minSdkVersion是9,我不能使用Theme.Holo.Light.DarkActionBar.
但这是胡说八道,因为默认文件夹值-v14仅适用于API 14+用户。。。
那么为什么我会出现这个错误,我想维护我的android:minSdkVersion=9。这应该是可能的不???
我认为您对资源文件夹系统和支持应用程序的实际Android版本范围感到困惑。当你在AndroidManifest.xml
上声明android:minSdkVersion="9"
时,你是在声明你的应用程序应该能够在API 9+上运行。
安卓资源结构的建立是为了允许开发人员根据给定设备运行的分辨率、屏幕大小和安卓版本(以及其他内容)使用不同的资源。您仍然需要尊重minSdkVersion
的设置;在你的情况下是9。Theme.Holo.Light.DarkActionBar
是在API 11中引入的,因此您不能使用该样式,因为它在API 9中不存在。
举个例子,当minSdkVersion
为9时尝试使用Theme.Holo.Light.DarkActionBar
,就像当minSdkVersion
为9时试图获得ActionBar
的引用一样(假设您没有使用支持库)。这两个特性直到后来的API才被添加;它们不是安卓系统的一部分,它们根本不存在。