Я пытаюсь создать компонент Android, который можно легко добавить в проекты Android в виде библиотеки JAR.
Для этого мне пришлось создать новые атрибуты xml в "res / values / attr.xml", которые я добавляю в свой графический элемент xml, используя путь:
xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"
Затем я импортирую этот проект как библиотеку jar в другой проект.
Чтобы создать мои графические компоненты в новом проекте, я должен изменить путь ниже:
xmlns:app="http://schemas.android.com/apk/res/com.mylibrary"
Но путь неверный: пользовательские атрибуты не найдены.
Мне удалось интегрировать файл R в библиотечный jar, и я мог получить к нему доступ из своего xml, чтобы объявить пользовательский компонент, подобный этому:
<PreferenceScreen
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res/com.myLibraryPackage">
<com.myLibraryPackage.mySelfComponent
android:title="Name"
android:key="name"
app:hintText="Input your name"
android:dialogTitle="Your name "
app:validator="com.myLibraryPackage.myValidatorClass" />
Что странно, если я помещаю свой файл attr.xml в ресурсы моего проекта, он работает, а значит, он находит com.myLibraryPackage.mySelfComponent. В таком случае, почему он не может найти также com.myLibraryPackage?
(я также пытался заменить
xmlns:app="http://schemas.android.com/apk/res/com.myLibraryPackage"
от
xmlns:app="http://schemas.android.com/apk/res/com.myApplicationPackage"
но все равно не работает)
Я бы предпочел использовать банку для облегчения ее интеграции в проект!
Кто-нибудь сталкивался с такой проблемой, кто мог бы мне помочь?
Спасибо.