Как сослаться на рисунок из проекта библиотеки в макет основного проекта в Android?

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

Затем у меня есть основной проект, и он использует указанный выше проект библиотеки.
Допустим, имя его пакета: com.vijay.myproject.

Учтите, что я правильно связал проект библиотеки с моим основным проектом.

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

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


person Vijay Krishna    schedule 05.06.2011    source источник


Ответы (2)


Вам, вероятно, потребуется добавить свой собственный uri для библиотеки и использовать его для ссылки на drawable.

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

Затем вы сможете получить доступ к рисунку, используя

@vijay:drawable/myImage
person Alex Gitelman    schedule 05.06.2011
comment
Где бы вы разместили xmlns:vijay=... в файле манифеста или макета и в каком месте? - person Lumis; 05.06.2011
comment
‹LinearLayout xmlns:at=schemas.android.com/apk/res/com. at.customkeyboardex3 xmlns:android=schemas.android.com/apk/res/android android:layout_width=fill_parent android:layout_height=wrap_content android:orientation=vertical › ‹TextView android:layout_width=wrap_content android:layout_height=wrap_content android:text=в собственном приложении android:background=@at:drawable/left / › ‹/LinearLayout› Я не могу получить @at:drawable/left, это выдает ошибку: не найдены ресурсы, соответствующие... - person Bhavana Vadodariya; 15.11.2013
comment
это моя библиотека com.at.customkeyboardex3, которую я использую, предположим, в проекте com.at.reuse, поэтому вышеупомянутый xml будет в com.at. повторно использовать папку res--›layout проекта - person Bhavana Vadodariya; 15.11.2013

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

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

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

person kuruppsify    schedule 24.05.2012