找不到与给定名称 'android:Theme.Holo.Light' 匹配的资源。

9

我创建了一个具有以下目标设置的项目:

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

但是在values-v11和values-v14中仍然存在以下错误:
ERROR: 找不到与给定名称'android:Theme.Holo.Light'匹配的资源。
<resources>

    <!--
        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!-- API 11 theme customizations can go here. -->
    </style>

</resources>

1
尝试使用 parent="android:style/Theme.Holo.Light" - Raghunandan
1
@Raghunandan 尝试过清理项目,但是仍然出现相同的错误。 - KiDa
请查看以下链接:https://developer.android.com/training/basics/actionbar/styling.html。请注意链接中的注释。您的最小SDK版本为8。`Theme.Holo`系列主题适用于API级别11及更高版本。 - Raghunandan
@Raghunandan 尝试了,但没有成功...同样的错误。 - KiDa
你没有完整阅读文档,请检查文档。如果你做得不对,会得到相同的错误。 - Raghunandan
问题出在构建目标而不是最小 SDK 版本上... 谢谢。 - KiDa
4个回答

29
假设您正在使用 Eclipse,您需要在 Package Explorer 中右键单击项目,选择 属性,选择 Android,并将 项目构建目标 设置为 API 级别14或更高。或者等效地,在项目的project.properties文件中设置target=android-14 或更高,但请注意,此文件是由 Eclipse 自动生成的,因此不建议手动编辑。

2
如果需要的话,可以在上述步骤后清理并构建代码。 - hBrent
我之前需要在一个未使用Android Studio和Gradle构建系统的老项目中进行操作。有一个外部库(Fabric-Twitter)需要@android:style/Theme.Material.Light。在 project.properties 文件中设置 target=android-21 可以解决这个问题。 - PeqNP

3

首先,parent属性存在问题,您需要使用parent="android:style/Theme.Holo.Light"

其次,由于Holo主题是在API 14中引入的...所以您需要将android:minSdkVersion="8"更改为android:minSdkVersion="11",在较新的版本中它会自动使用Holo主题。您可以进一步阅读有关Holo主题的内容,请参考:

但是,如果您想支持之前的Android版本的Holo主题。您可以使用Holoeverywhere库


问题出在构建目标上,而不是minSdkVersion...谢谢。 - KiDa

1

TextAppearance.Holo.Widget.ActionBar.Title似乎是在API Level 13中添加的。确保您的构建目标设置为13,而不仅仅是11。

AndroidManifest.xml:

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

0

您可以点击此项目的属性,然后点击Android,选择超出您目标项目的目标名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接