WEB开发网
开发学院手机开发Android 开发 Android自定义控件的使用 阅读

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_valu

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-

上一页  1 2 3 4 5 6  下一页

Tags:Android 定义 控件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接