我有一个android库项目和可重用的可绘制资源。
让我们说包名是:com.vijay.mylib;
然后我有一个主项目,它使用上面的库项目。
让我们说它的包名是:com.vijay.myproject
。
请注意,我已将库项目与我的主项目正确链接。
在我的主项目中,我有一个名为main.xml的布局。 我想在main.xml中使用一些可绘制的rom库项目。 我怎么能用xml做呢? 以“@ drawable / myImage”这样的正常方式引用对我来说不起作用。引用选择器窗口仅显示主项目中的drawables。不是来自图书馆项目。
(注意:两个项目都有不同的R.java包。它有什么用呢?)
答案 0 :(得分:13)
您可能需要为库添加自己的uri并使用它来引用drawable。
xmlns:vijay="http://schemas.android.com/apk/res/com.vijay.mylib"
然后你应该能够使用
访问drawable@vijay:drawable/myImage
答案 1 :(得分:2)
确定库项目(lib项目)和应用程序项目(app项目)之间使用哪些可绘制资源的最佳方法是设计:
默认情况下,应用项目的可绘制资源将取代使用名称相同的lib项目的可绘制资源。因此,确保使用lib项目资源的最佳方法是从应用程序项目中完全删除资源。
我遇到的另一个问题是,如果您希望首选使用应用项目资源,请确保应用项目中的可绘制文件夹名称与资源文件夹相同库项目中的名称。即如果您的lib项目资源位于 drawable-mdpi 中,请确保该应用程序项目中的文件夹名为 drawable-mdpi !