Android.自定义控件的实现(3)
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点,绑定结束后可以在需要赋初始值的地方赋值。
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fsms=http://schemas.android.com/apk/res/org.kandy>
<org.kandy.view.RadioButton android:id="@id/isPayDepositTrue" fsms:value="true"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/yes" android:textSize="18sp">
</org.kandy.view.RadioButton>
</ScrollView>
红色部分首先声明命名空间。命名空间为fsms.路径是http://schemas.android.com/apk/res/这一部分是不变的,后面接的是R的路径:org.kandy.R。然后在自定义控件的xml描述中就可以这样使用fsms:value="true"。这样就实现了自定义控件的初始化赋值。
6、RadioGroup、RadioButton组合控件的实现
上面是自定义控件的实现,下面将要说的是组合控件的实现。在组合控件中,最经常用到的应该就是RadioGroup和RadioButton。RadioButton的实现已经在上面介绍了。下面要介绍RadioGroup的自定义控件和功能扩展:
代码如下:
public class RadioGroup extends android.widget.RadioGroup {
private String mValue;
public RadioGroup(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RadioGroup(Context context) {
super(context);
}
// 设置子控件的值
public void setChildValue(){
相关新闻>>
- 发表评论
-
- 最新评论 更多>>