проекта библиотеки Android, использующего declare-styleable - как скомпилировать?

У меня есть настраиваемый элемент управления предпочтениями, для которого я определил несколько атрибутов в values ​​/ attrs.xml. Чтобы сфокусировать разговор, вот пример атрибутов, которые можно найти в values ​​/ 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 ссылается на имя пакета БИБЛИОТЕКИ, и этот ресурс отлично компилируется в проекте БИБЛИОТЕКА. Однако проект Android, который включает проект библиотеки, имеет другое имя пакета, и Android пытается объединить все ресурсы. Когда он доходит до этого определения xmlns, он блокируется, потому что имя пакета отличается во включенном проекте Android.

У кого-нибудь есть идеи по использованию ссылок xmlns в проектах библиотеки, которые все еще действительны для включения проектов Android?

Были объявлены -styleables - это просто упущение со стороны команды Android, когда они рассматривали библиотеки?

14
задан jkschneider 11 November 2011 в 07:38
поделиться