Android自定义控件的使用
2010-05-31 02:34:00 来源:WEB开发网21. */
22. [color=red]TypedArray a = context.obtainStyledAttributes(attrs,
23. R.styleable.RadioButton);
24. this.mValue = a.getString(R.styleable.RadioButton_value);
25. a.recycle();[/color]
26. } catch (Exception e) {
27. e.printStackTrace();
28. }
29.
30. }
31.
32. public RadioButton(Context context) {
33. super(context);
34. }
35.
36.
37. }
public class RadioButton extends android.widget.RadioButton {
private String mValue;
public RadioButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public String getValue() {
return this.mValue;
}
public void setValue(String value) {
this.mValue = value;
}
public RadioButton(Context context, AttributeSet attrs) {
super(context, attrs);
try {
/**
* 跟values/attrs.xml里面定义的属性绑定
*/
[color=red]TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.RadioButton);
this.mValue = a.getString(R.styleable.RadioButton_value);
a.recycle();[/color]
} catch (Exception e) {
e.printStackTrace();
}
}
public RadioButton(Context context) {
super(context);
}
}
红色代码可以先不看。先看我们新加入的属性value,由于Android习惯属性命名以m开头。所以我们自定义控件就按照这个规则来写。不过对于 setter、getter方法来说,不需要加入m。像上面的:属性名称 mValue,setter:setValue(),getter:getValue()。当然,你也可以不按照Android的习惯来命名。
这样,我们就可以使用这个自定义控件了。而且可以给它设置一个value,加上父类的text属性。我们就可以在RadioButton中加入key-
更多精彩
赞助商链接