スプラッシュ スクリーン アクティビティを含むライブラリを作成しており、AndroidManifest.xml ファイルのそのアクティビティのメタデータに res/xml/ リソースを渡すことで構成できるようにしたいと考えています。
これはライブラリにxmlリソースをロードする方法ですが、属性カウントは常に-1です。getResourceName を呼び出したときに res が間違いなく正しいリソースを指していることはわかっていますが、それは正しかったです。
int res = metaData.getInt(METADATA_SPLASH, 0);
XmlResourceParser parser = getResources().getXml(res);
AttributeSet attrs = Xml.asAttributeSet(parser);
また、アプリケーションの xml リソースは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<splash xmlns:lib="http://schemas.android.com/apk/res-auto"
lib:caption="@string/copyright" lib:drawable="@drawable/logo_aperture"
lib:activity=".ui.HomeActivity">
</splash>
最後に、私のライブラリでは、次のように attrs.xml ファイルで属性を定義しました。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="drawable" format="reference"></attr>
<attr name="caption" format="string"></attr>
<attr name="activity" format="string"></attr>
</resources>
どんな助けでも大歓迎です。