jua*_*awa 17 android android-widget android-layout
这是我的故事:
我有一个自定义的ViewGroup,我想用代码使用预定义的样式创建,到目前为止,我的方法是从style.xml元素创建一个AttributeSet对象,就像这样(警告,提防前面的复制粘贴代码):
XmlPullParser parser = getResources().getXml(R.style.my_stylez);
AttributeSet attributes = Xml.asAttributeSet(parser);
Run Code Online (Sandbox Code Playgroud)
但是当这样做时我得到一些疯狂的错误:".. android.content.res.Resources $ NotFoundException:资源ID#0x7f090002类型#0x12无效"
我知道我可能会遗漏一些非常明显的东西(或者我?),如果你们中的任何一个人能指出我正确的方向,我将不胜感激.
谢谢
您需要从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);
Run Code Online (Sandbox Code Playgroud)
您可以在AOSP的可绘制CTS测试中找到相关示例.
| 归档时间: |
|
| 查看次数: |
7762 次 |
| 最近记录: |