0

スプラッシュ スクリーン アクティビティを含むライブラリを作成しており、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>

どんな助けでも大歓迎です。

4

1 に答える 1