簡體   English   中英

Android從元數據讀取自定義xml資源

[英]Android read custom xml resources from meta-data

我正在編寫一個包含啟動畫面活動的庫,並且我希望能夠通過將res / xml /資源傳遞到AndroidManifest.xml文件中該活動的元數據來對其進行配置。

這是我在庫中加載xml資源的方式,但是屬性計數始終為-1。 我知道res如果一定要指向正確的資源,就像我在其上調用getResourceName一樣,它是正確的。

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>

任何幫助將非常感激。

這是一個較晚的答案,但以防萬一它可以幫助別人。 在嘗試使用AttributeSet之前,請插入以下代碼塊:

int type;
while ((type=parser.next()) != XmlResourceParser.END_DOCUMENT
    && type != XmlResourceParser.START_TAG) {
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM