我正在尝试实现谷歌几天前发布的新的ActionBar支持库。在过去,我已经成功地实现了ActionBarSherlock没有任何问题使用相同的方法在谷歌开发人员的支持库设置页面上列出-使用关于如何包括资源的指南(这是类似于ActionBarSherlock是如何做到的)。我把这个库项目作为库加载到我自己的项目中。

我能看出图书馆的资料还不错。当,而不是在我的MainActivity.java上扩展活动,我把它改为扩展ActionBarActivity(根据谷歌的指令),没有发生错误-它正确地导入。

我甚至尝试绕过style.xml文件,添加@style/Theme.AppCompat。光直接在AndroidManifest.xml的<应用>和<活动>与android:theme="@style/ThemeAppCompat。所有的尝试都会导致同样的错误。

现在的问题是我不能让它改变主题,更不用说在不抛出错误的情况下构建了。下面是我收到的错误,后面是我更改为使用新主题的style.xml文件。

我有一定的Android应用程序工作经验,正在运行Eclipse的最新版本的支持库和SDK编译API 18 (Android 4.3)。

生成时收到的错误

获取父项的错误:没有找到匹配给定名称的资源'@style/Theme.AppCompat.Light'。styles.xml /ActBarTest/res/values line 3 Android AAPT Problem

style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
    </style>
</resources>

有什么建议吗?这从来不是ActionBarSherlock的问题。我想使用这个新的支持库。看起来像是.jar在加载,而不是资源。


当前回答

Android Studio 1.2.2

从父属性值中删除"android":

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>

其他回答

你最好创建一个任意名称的新项目,然后使用appcompat_v7这个程序创建新的项目。

Right Click Project-> properties->Android

在库部分中添加并选择库appcompat。

我在Eclipse中使用Android支持库(APL)项目和主项目(MP)做了以下工作:

确保APL和MP都有相同的minSdkVersion和targetSdkVersion。 添加了APL作为MP的构建依赖项: 进入MP的“Properties > Java Build Path”,然后 选择“Projects”选项卡并添加APL。 在MP的属性中,在“Android”下,添加了对library下APL的引用。

1和2使Java类的引用正常工作…然而,当我试图引用@style/Theme.AppCompat时,我仍然在MP的manifest.xml中看到了错误。来自APL的光。当我执行第3步时,这种情况才消失。

你需要参考$ANDROID_SDK/extras/android/support/v7/appcompat

http://developer.android.com/tools/support-library/setup.html有一个bug。 在属性->Java构建路径->“项目”和“订单和导出”中,不应该有任何jar的。 删除它们,并检查“Android Private Libraries”和“Android Dependencies”解决了我的问题。

Android Studio 1.2.2

从父属性值中删除"android":

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>