聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

Android DEV : get AttributeSet from XML resource

2013-06-19 18:51 浏览: 1944136 次 我要评论(0 条) 字号:


    这两天在练习个Android应用,需要创建一些自定义的View,实际每个View都是很简单的封装或者继承,但每个的Attribute都要一一配置,很是麻烦.
    写一半时,忽然想起,这些Attributes都是可以从XML资源文件加载的啊...土了一把,赶紧删了全部代码,重写了...(又土了一把...)

    虽然很早就知道这个,但却从来没写过,错了无数次,终于发现问题了,于是封装个Utils方法,供以后调用...

    public static AttributeSet getAttributeSet(Context context, final String className, int resId) {

        XmlResourceParser p = context.getResources().getXml(resId);
        int state = XmlResourceParser.START_DOCUMENT;
        do {
            try {
                state = p.next();

                if (state == XmlResourceParser.START_TAG) {
                    if (p.getName().equals(className)) {
                        return Xml.asAttributeSet(p);
                    }
                }
                
            } catch (XmlPullParserException e) {
                e.printStackTrace();
                break;
            } catch (IOException e) {
                e.printStackTrace();
                break;
            }
        } while (state != XmlResourceParser.END_DOCUMENT);
        
        return null;
    }


    说明下啊,当前本人java代码仅作记录,不负责的...原因你懂的...强力建议大家吐槽...嘿嘿...

codejie 2013-06-19 00:00 发表评论


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复