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 定義は LIBRARY のパッケージ名を参照しており、このリソースは LIBRARY プロジェクトで正常にコンパイルされます。ただし、Library プロジェクトを含む Android プロジェクトのパッケージ名は異なり、Android はすべてのリソースをマージしようとします。この xmlns 定義に到達すると、含まれる Android プロジェクトでパッケージ名が異なるため、行き詰まります。
Android プロジェクトを含めてもまだ有効なライブラリ プロジェクトで xmlns 参照を使用するためのアイデアはありますか?
宣言スタイル可能オブジェクトは、Android チームがライブラリを検討したときの単なる見落としでしたか?