Как сделать ссылку на чертеж из проекта библиотеки на макет основного проекта в Android? - PullRequest
16 голосов
/ 05 июня 2011

У меня есть проект библиотеки Android и многоразовые ресурсы для рисования.Допустим, имя пакета: com.vijay.mylib;Тогда у меня есть основной проект, и он использует вышеуказанный проект библиотеки.Допустим, его имя пакета: com.vijay.myproject.Учтите, что я правильно связал проект библиотеки с моим основным проектом.

В моем основном проекте у меня есть макет с именем main.xml.Я хочу использовать некоторый проект библиотеки drawable rom в main.xml.Как я могу сделать это в XML?
Ссылка обычным способом, как "@ drawable / myImage" не работает для меня.Окно выбора ссылок показывает мне только чертежи из основного проекта.Не из библиотечного проекта.

(Примечание. Оба проекта имеют разные пакеты для R.java. Это как-то связано с этим?)

Ответы [ 2 ]

13 голосов
/ 05 июня 2011

Возможно, вам понадобится добавить свой собственный URI для библиотеки и использовать его для ссылки на Drawable.

xmlns:vijay="http://schemas.android.com/apk/res/com.vijay.mylib"

Тогда вы сможете получить доступ к Drawable, используя

@vijay:drawable/myImage
2 голосов
/ 25 мая 2012

Лучший способ определить, какие ресурсы для рисования используются между проектом библиотеки (проект lib) и проектом приложения (проект приложения), заключается в разработке:

  1. По умолчанию извлекаемый ресурс проекта приложения будет заменять использование извлекаемого ресурса проекта lib с таким же именем. Поэтому лучший способ обеспечить использование ресурса проекта lib - это полное удаление ресурса из проекта приложения.

  2. Еще одна проблема, с которой я столкнулся, заключается в том, что если вы хотите, чтобы ресурс проекта приложения использовался в предпочтениях, убедитесь, что имя нарисованной папки в проекте приложения идентично имени папки ресурса. в проекте библиотеки. То есть если ресурсы вашего проекта lib находятся в drawable-mdpi , убедитесь, что папка называется drawable-mdpi и в проекте приложения!

...