Android自定义控件的使用
2010-05-31 02:34:00 来源:WEB开发网< declare-styleable name="RadioButton" >< !-- 控件名称-- >
< attr name="value" format="string"/ >< !-- 属性名称,类型-- >
< /declare-styleable >
< /resources >
如果res下没有错误的话,在R中应该就会生成这些资源的id。这样我们就能在自定义控件中引用他们。
4、控件属性与XML定义绑定。
这下子我们又回到了自定义控件的编写上来了。先看看我们在第一点提到的红色字体部分。这一部分就是实现控件属性与XML定义绑定的代码。
Java代码
1. /**
2. * 跟values/attrs.xml里面定义的属性绑定
3. */
4. TypedArray a = context.obtainStyledAttributes(attrs,
5. R.styleable.RadioButton);
6. this.mValue = a.getString(R.styleable.RadioButton_value);
7. a.recycle();
/**
* 跟values/attrs.xml里面定义的属性绑定
*/
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.RadioButton);
this.mValue = a.getString(R.styleable.RadioButton_value);
a.recycle();
TypedArray其实就是一个存放资源的Array,首先从上下文中获取到R.styleable.RadioButton这个属性资源的资源数组。 attrs是构造函数传进来,应该就是对应attrs.xml文件。 a.getString(R.styleable.RadioButton_value);这句代码就是获取attrs.xml中定义的属性,并将这个属性的值传给本控件的mValue.最后,返回一个绑定结束的信号给资源:a.recycle();绑定结束。
5、在xml中对控件赋初始值。
请看第2点,绑定结束后可以在需要赋初始值的地方赋值。
Java代码
1. < ScrollView android:layout_width="fill_parent"
2. android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
3. xmlns:fsms=http://schemas.android.com/apk/res/org.kandy >
4.
5. < com.lg.base.view.RadioButton android:id="@id/isPayDepositTrue" fsms:value="true"
6. android:layout_width="wrap_content"
更多精彩
赞助商链接