找不到与给定名称匹配的资源'@ 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”