在应用程序的xml资源中引用android库项目的xml资源。

4
我有一个Android库项目,其中定义了XML资源。
以选择器可绘制对象为例(但我在字符串、样式等方面存在问题)。
LibProject/res/drawable/button_selector.xml......定义了一个选择器。
LibProject/res/layout/view.xml......使用了选择器,没有任何问题。
 `<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/sign_up_fly_buttons"
        android:background="@drawable/button_selector"/>`

接下来我想在我的应用程序布局中引用它

AppProject/res/layout/view.xml ...

`<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/sign_up_fly_buttons"
        android:background="@drawable/button_selector"/>`

但是在应用程序中,它无法编译或让我引用它。我已经尝试了各种命名空间的咒语来尝试引用它,但没有成功......有什么想法吗?
另外: 我已经读到这样的引用的全格式是: @[packagename:]type/id 如果您省略了软件包名称,则使用此资源文件的软件包。
这个例子是: @com.mylibrary:drawable/button_selector 但对我不起作用!我的库设置/导入肯定有问题吗?
我的库位于单独的Eclipse Android项目中,标记为Library项目,并且从我的应用程序作为“依赖项目”引用,代码构建并链接得很好。

你如何包含库? - njzk2
请确保你遵循文件命名规范。查看这个答案:https://dev59.com/2FrUa4cB1Zd3GeqPovT_ - Mohamed_AbdAllah
该库是一个Eclipse项目,标记为库,并在Eclipse中作为依赖项目。所有代码引用都正常工作,代码和资源已经合并到应用程序中 - 但我找不到如何从我的应用程序中的XML引用这些资源。 - Andrew Mackenzie
在库或应用程序项目中,/res 目录下的文件名不得包含大写字母。 - Andrew Mackenzie
那么,如果没有其他解决方案 - 我将不得不在我的应用项目中重新定义所有这些东西...? - Andrew Mackenzie
1个回答

1

好的,找到问题了!

在Eclipse中,在我的项目属性->Java Build Path ->"Projects"选项卡中,我已经添加了库项目。

但是,我还必须将其添加到项目属性->Android ->库区域作为库项目。

我已经为其他项目做过这个操作,但是在这里忘记了。

感谢所有试图找出我的错误的人。

现在资源已正确合并,我可以使用“短格式”格式引用它们,而无需使用包名称。


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