这是我的故事:
我想从使用预定义样式的代码创建一个自定义 ViewGroup,到目前为止,我的方法是从 style.xml 元素创建 AttributeSet 对象,如下所示(警告,请注意前面的复制粘贴代码):
XmlPullParser parser = getResources().getXml(R.style.my_stylez);
AttributeSet attributes = Xml.asAttributeSet(parser);
但是这样做时我遇到了一些疯狂的错误:
“..android.content.res.Resources$NotFoundException:资源 ID #0x7f090002 类型 #0x12 无效”
我知道我可能在这里遗漏了一些非常明显的东西(或者我是吗?),如果你们中的任何人能够指出我正确的方向,我将不胜感激。
Thanks
您需要从 XML 文件的资源标识符开始,最好在 res/xml 中。然后你可以通过首先创建一个XmlPullParser来获取一个AttributeSet:
Resources res = context.getResources();
XmlPullParser parser = res.getXml(R.xml.some_xml_file);
// Seek to the first tag.
int type = 0;
while (type != XmlPullParser.END_DOCUMENT && type != XmlPullParser.START_TAG) {
type = parser.next();
}
// Wrap as an attribute set.
AttributeSet attrs = Xml.asAttributeSet(parser);
您可以在 AOSP 中的可绘制 CTS 测试中找到这方面的示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)