В ApiDemos, есть пример вида называется gallery1 который объявляет свой стиль в attrs.xml, как таковые:Пользовательские стили виджета Android: как помещать их в пространство имен?
<declare-styleable name="Gallery1">
<attr name="android:galleryItemBackground" />
</declare-styleable>
теперь, я хочу сделать то же самое для моих виджетов, но с использованием другого Пространство имен. Однако, как только я заменяю андроида: пространство имен с чем-то другим, я получаю эту ошибку:
ERROR: In Gallery1, unable to find attribute myns:galleryItemBackground
Невозможно найти атрибут? Почему он ищет атрибут, который я собираюсь объявить? Разве пункт этого файла не может назвать ваши собственные пользовательские атрибуты?
Интересно отметить, что он работает, если вы не предоставляете собственное пространство имен, а просто имя атрибута.
Я читал эту статью, но она устарела и ошибается (она просто не работает так, по крайней мере, не больше). – Matthias
В статье отлично работает с Android 1.6 [проверено]. Но я не понял ваш вопрос. Вы не сможете указать какое-либо пространство имен при объявлении стиля, оно уже находится в вашем пространстве имен приложений. Хотя вам или кому-то еще нужно использовать attrs в XML-макетах, они должны использовать его в пространстве имен приложений. Поскольку мы используем андроид, указанный attrs с android: attr – bhatt4982
Я думаю, что проблема может быть связана со мной, ссылаясь на эти стили из другого проекта. То есть я объявляю attrs.xml в проекте A, создаю JAR из него и пытаюсь получить к ним доступ в другом проекте B. Я всегда получаю «идентификатор ресурса, найденный для атрибута X». Он работает, когда не используется стилизованные атрибуты, а простые атрибуты. – Matthias