2011-01-30 54 views
34

我有一个Android Library Project,其中包含styles.xml文件中定义的几个样式/主题。使用Android库项目时如何正确引用xml资源?

通常情况下,在一些其他的XML布局或清单文件中引用此风格的时候,你会只写android:theme="@style/TheNameOfTheStyle"

当使用库项目,如何依赖项目现在正确引用的风格?只是把它作为android:theme="@style/TheNameOfTheStyle"给我一个错误,说没有找到匹配该名称的资源。

我想这同样的问题适用于,@color等

感谢

其他参考喜欢@string

编辑:好了,所以看起来你想引用它就像正常的,但Eclipse中的控制台给我这个错误:

Error: No resource found that matches the given name (at 'theme' with value '@style/ThemeName').

(捂脸)编辑

我只需要在Eclipse中“清理项目”。现在它正在工作。

+0

在Android的书我读它说你可以/应该将其他资源引用为@ [packagename。] type/id,如果当前应用程序包被忽略,则包名称将被忽略,并且您可以使用库项目的页面名称。但是,它并不适用于我,也没有清理项目和重建:-( – 2012-10-08 09:08:03

+0

@Andrew你不需要像这样放入包名,如果资源在你的库项目中,你可以参考它通常,如果它是在自己的项目 – cottonBallPaws 2012-10-08 18:52:58

回答

15

其重要的建设增加资源(或者只是有自动构建上)和清洁项目后,该项目有助于大部分的时间。当“出现问题”出错时重新启动Eclipse也是一个好主意。

还要注意的是Android的合并的的recources,所以最后的项目,是打造“赢”这个名字。出于这个原因,以某种方式为所有资源加上前缀是个好主意。

2

我只是碰到了同样的问题,但是在Eclipse清洁没有工作,直到我同时设置库项目和常规项目有一个匹配:目标构建属性。

0

我刚刚在Android Studio中遇到了这个问题。看起来Android Studio没有意识到我的库项目是一个库,尽管project.properties声明了android.library = true。

我通过检查项目结构的“被库”复选框,修复了这个问题。

enter image description here

3

我用的IntelliJ什么工作对我来说是正常参考资源,以确保库添加为项目的依赖

相关问题