1.在attr.xml中先定义好属性
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyVIew">
<attr name="src" format="integer" />
<attr name="delta" format="integer" />
</declare-styleable>
</resources>
2.在main.xml中如何使用该定义好的属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:wen="http://schemas.android.com/apk/res/com.javaeye.googlers"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.javaeye.googlers.MyVIew
android:layout_width="fill_parent"
android:layout_height="wrap_content"
wen:src="@raw/icon"
wen:delta="6"
/>
</LinearLayout>
3.代码中的属性使用
TypedArray ta = context.obtainStyledAttributes(attrs,
R.styleable.MyVIew);
int n = ta.getIndexCount();
for(int i =0;i < n;i++){//循环得到自定义属性
int attr = ta.getIndex(i);
switch(attr){
case R.styleable.MyVIew_src:
int id = ta.getResourceId(
R.styleable.MyVIew_src, 0);
//得到自定义属性的ID后如何使用……
case R.styleable.MyVIew_delta:
int idelta = ta.getInteger(R.styleable.MyVIew_delta, 1);
//得到自定义属性的ID后如何使用……
default:
break;
}
ta.recycle();//回收,为以后再使用
本文详细介绍了如何在Android开发中自定义XML属性。首先,在attr.xml文件中定义所需的属性,如格式为整数的'src'和'delta'。接着,在布局文件main.xml中通过命名空间调用这些属性,并为其分配具体的资源或数值。最后,在代码中通过TypedArray获取这些自定义属性的值,并根据需要进行处理。
4213

被折叠的 条评论
为什么被折叠?



