У меня есть настраиваемый элемент управления настройками, в котором я определил несколько атрибутов в значениях /attrs.xml. Чтобы сосредоточиться на разговоре, вот пример атрибутов, которые можно найти в значениях /attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyCustomView">
<attr name="android:text"/>
<attr name="android:textColor"/>
<attr name="extraInformation" format="string" />
</declare-styleable>
</resources>
Чтобы использовать атрибуты, вы используете тег xmlns, где вы хотите его использовать, и выглядит примерно так:
xmlns:custom="http://schemas.android.com/apk/res/com.conundrum.app.lib"
В этом заключается проблема: определение xmlns относится к имени пакета LIBRARY, и этот ресурс отлично компилируется в проекте LIBRARY. Однако проект Android, включающий проект библиотеки, имеет другое имя пакета, и Android пытается объединить все ресурсы. Когда дело доходит до этого определения xmlns, оно перестает работать, потому что имя пакета отличается от проекта Android.
У кого-нибудь есть идеи по использованию ссылок xmlns в проектах библиотеки, которые все еще действительны при включении проектов Android?
Были ли объявлены-стилисты просто надзором команды Android, когда они рассматривали библиотеки?