【发布时间】:2012-10-01 15:41:08
【问题描述】:
我有一个定义 XML 资源的 Adnroid 库项目。
让我们以可绘制的选择器为例(但我在字符串、样式等方面存在问题)。
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"/>`
然后我想在我的 App 的布局中引用它
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"/>`
但在应用程序中它不会编译或让我引用它。 我尝试了各种命名空间咒语来尝试引用它,但没有运气......
有什么想法吗?
补充: 我读过这些参考的完整形式是: @[包名:]类型/ID 如果你省略了包名,那么就是使用这个资源文件的包。
这个例子是: @com.mylibrary:drawable/button_selector
但这对我不起作用!我的库设置/导入一定有问题?
我的库位于一个单独的 Eclipse Android 项目中,标记为库项目,并作为“依赖项目”从我的应用程序中引用,并且代码已构建且链接正常。
【问题讨论】:
-
如何包含库?
-
确保遵循文件命名约定。检查这个答案:stackoverflow.com/questions/7305483/…
-
库为eclipse项目,标记为库,eclipse中的依赖项目。所有代码引用工作正常,代码和资源合并到应用程序中 - 但我找不到如何在我的应用程序中从 xml 引用资源。
-
在库或应用项目中的 /res 下没有名称中包含大写字母的文件。
-
所以,缺少任何其他解决方案 - 我将不得不在我的 App 项目中重新定义所有这些东西......?