找不到与给定名称匹配的资源'@ style / Theme.Holo.Light.DarkActionBar'

平台:4.3

API等级:18

AndroidManifest.xml中:

<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18" /> 

值-V14 \ styles.xml:

  <resources> <!-- Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. --> <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> </style> <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> </style> <style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse"> <item name="android:background">@drawable/actionbar_background</item> </style> 

我是一个机器人新手。非常感谢!

做这个:

 "android:style/Theme.Holo.Light.DarkActionBar" 

样式之前你错过了android关键字。 这表示这是Android的内置风格。

确保你已经设置你的目标API(不同于目标SDK)在项目属性(不是清单)至less4.0 / API 14。

@android没有为我工作。 当我使用android(没有@)时,它就像一个魅力。

例:

 <style name="CustomActionBarTheme" parent="android:style/Theme.Holo.Light.DarkActionBar"> 

在这里指定给新手的教程中有一个主要的错误: http : //developer.android.com/training/basics/actionbar/styling.html

这很重要,因为几乎不可能检测到新手的错误原因。

错误的是,本教程明确指出本教程适用于api level 11(Android 3.0),而实际上这仅适用于Theme.Holo主题(没有进一步扩展和变体)

但是本教程使用Theme.holo.Light.DarkActionBar这个主题,它只是api level 14(Android 4.0)及更高版本的有效主题。

这只是在这些教程中发现的错误的很多例子之一(在其他方面很好)。 这个周末有人应该纠正这些错误,因为他们真的是昂贵而烦人的时间。 如果有办法,我可以把这个信息发送给Android团队,那么请告诉我,我会做到这一点。 但是,希望他们阅读Stackoverflow。 (让我build议:Android团队应该考虑让新手试用所有的教程作为他们有效的资格)。

我(和其他无数人)发现的另一个错误是,如果你严格按照教程,appcombat向后兼容模块真的不工作。 错误未知。 我不得不放弃。

关于这个线程中的错误,这里是一个引用来自教程文本的斜体上的不匹配:

“仅适用于Android 3.0及更高版本

当仅支持Android 3.0及更高版本时,您可以像这样定义操作栏的背景:

  <resources> <!-- the theme applied to the application or activity --> <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar"> 

ERROR1:只有Theme.Holo可以用于Android 3.0。 因此,删除“Light.DarkActionBar等

ERROR2:@ style / Theme.Holo“>将不起作用。为了表明它是一个内置的被引用的主题,必须编写@android:style / Theme.Holo”>。 (有点奇怪,“内置”不是默认的,但需要说明?)

编译器的纠错build议是将api级别14定义为最小sdk。 这不是最优的,因为它创build了不符合Andreoid 3.0(API级别11)。 因此,我只使用Theme.Holo,这似乎工作正常(虽然新的发现)。

我正在使用Netbeans和Android支持。 很好地工作。

如果你使用android studio,这可能对你有用。

我有一个类似的问题,我解决了从默认的C:\ Program Files文件(x86)\ Android \ android-studio \ sdk到C:\ Program Files文件(x86)\ Android \ android-sdk的skdpath。

似乎问题来自编译器版本(gradle将其自动设置为sdk文件夹中可用的最高版本),并且由于android studio在其sdk文件夹中只有api 7,所以它给了我这个错误。

有关如何在Android Studio中更改Android sdkpath的更多信息: Android Studio – 如何更改Android SDKpath

另外,如果您尝试使用CustomActionBarTheme,请确保有

 <application android:theme="@style/CustomActionBarTheme" ... /> 

在AndroidManifest.xml中

 <application android:theme="@android:style/CustomActionBarTheme" ... /> 

你可以改变这个父属性=“android:style / Theme.Holo.Light.DarkActionBar”