定义自己的xml

1.在attr中定义自己的样式
<resources>
<declare-styleable name="Favorite">
<attr name="className" format="string" />
<attr name="packageName" format="string" />
<attr name="screen" format="string" />
<attr name="x" format="string" />
<attr name="y" format="string" />
</declare-styleable>
</resources>
2.定义自己的xml属性
<favorites xmlns: test="http://schemas.android.com/apk/res/ com.android.google">为包名
<favorite test:className="com.test.contacts.DialtactsContactsEntryActivity"
test:packageName="com.test.contacts" test:screen="1" test:x="1"
test:y="3"></favorite>
<favorite test:className="com.google.test" test:packageName="com.test.hello"
test:screen="2" test:x="2" test:y="2"></favorite>
</favorites>
2。TypedArray a = this.obtainStyledAttributes(set,R.styleable.Favorite);//把xml中定义的属性 -->对于到set集合中的值集合
 String className=a.getString(R.styleable.Favorite_className);//得到对于的值
3.程序解析的例子
private void parserXml() throws XmlPullParserException, Throwable {
XmlResourceParser parser = getResources()
.getXml(R.xml.default_favorite);
AttributeSet set = Xml.asAttributeSet(parser);
depth = parser.getDepth();
System.out.println(depth);
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG || parser
.getDepth() > depth)
&& type != XmlPullParser.END_DOCUMENT) {
if (type != XmlPullParser.START_TAG) {
continue;
}
TypedArray a = this.obtainStyledAttributes(set,
R.styleable.Favorite);
String name = parser.getName();
if (name.equals("favorite")) {
String packageName = a
.getString(R.styleable.Favorite_packageName);
String className = a.getString(R.styleable.Favorite_className);
String screen = a.getString(R.styleable.Favorite_screen);
String x = a.getString(R.styleable.Favorite_x);
String y = a.getString(R.styleable.Favorite_y);
System.out.println(packageName + "/t" + className + "/t"
+ screen + "/t" + x + "/t" + y);
}
   a.recycle();//
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值